JavaScript: невозможно изменить атрибут имени в java-скрипте в браузере IE

Всякий раз, когда я пытаюсь изменить значение атрибута имени, он создает новый атрибут submitName в InternetExplorer.

<input id="input1" type="text" name="userName">

Пример: document.getElementById("input1").name = "userNameInput";

В DOM он создается как: <input id="input1" type="text" name="firstInput" submitName="userNameInput">

Примечание. Даже я использовал setAttribute(), но у меня это тоже не работает.

Я хочу: <input id="input1" type="text" name="userNameInput">

Пожалуйста, помогите мне изменить атрибут имени.


person Hkg    schedule 04.02.2021    source источник
comment
Почему бы вам не изменить имя в шаблоне HTML?   -  person JavaScript    schedule 04.02.2021
comment
Не могли бы вы рассказать мне, как это сделать?   -  person Hkg    schedule 04.02.2021
comment
Откройте ваш html-файл и замените имя.   -  person JavaScript    schedule 04.02.2021
comment
Какую версию IE вы используете в этом случае?   -  person kunal panchal    schedule 04.02.2021
comment
Это было проблемой до Internet Explorer 8. В какой версии вы запускаете свой скрипт? В Internet Explorer 8 нельзя было изменить name после элемент был присоединен к dom.   -  person Lain    schedule 04.02.2021
comment
Как выглядит ваш html-код? Какую версию IE вы используете?   -  person Reporter    schedule 04.02.2021


Ответы (1)


Для этого вы можете использовать следующий код JS. Он будет работать во всех браузерах.

var field = document.getElementById("input1");
field.setAttribute("name", "userNameInput");

Приведенный ниже код отлично работает в Internet Explorer. Я проверил это.

<input id="input1" type="text" name="userName">
<script>
document.getElementById("input1").name = "userNameInput";
</script>
person John Doe    schedule 04.02.2021
comment
Я тоже так пробовал. Но это тоже не работает. - person Hkg; 04.02.2021