Я могу использовать JavaScript для установки атрибута 'имени'?

Откровенно говоря, я просто дал бы им Camel. Это - такая читаемая и интересная книга, они будут в порядке в мгновение ока. Я все еще смеюсь о 'Perl, содержит правду, чтобы быть самоочевидным', и это должны быть десять лет, с тех пор как я сначала считал его.

9
задан John Bubriski 1 September 2009 в 13:32
поделиться

5 ответов

Sitepoint ложь говорит о другом использовании «имени» (см. Комментарий Энтони). Это не только для чтения, просто существует давняя ошибка IE (до v7), когда установка имени в полях формы эффективна только частично. Радиокнопки, в частности, не принимают его должным образом.

Решение, одобренное Microsoft, , как подробно описано здесь , заключается в использовании ужасающей ошибки в версии IE вызова createElement для одновременной установки атрибутов:

var radio= document.createElement('<input type="radio" name="test" value="a" />');

Вероятно, лучшим способом было бы просто использовать старый добрый innerHTML, например :[1212 impression

4
ответ дан 4 December 2019 в 12:19
поделиться

Вы пробовали просто присвоить новое имя свойству elements name ? Я не уверен, насколько это кроссбраузерно, но он должен работать со всем, что поддерживает уровень DOM 1.

Я не уверен, зачем вам использовать setAttribute для этого?

1
ответ дан 4 December 2019 в 12:19
поделиться

У меня это сработало

alert(document.getElementById('testInput').name);
document.getElementById('testInput').name = 'someName';
alert(document.getElementById('testInput').name);

С

<input type="radio" name="test" id="testInput" />
12
ответ дан 4 December 2019 в 12:19
поделиться

Свойство name не читается только для входных элементов.

См. спецификацию .

0
ответ дан 4 December 2019 в 12:19
поделиться

Глядя на Совместимость с W3C DOM - Core , вы можете попробовать использовать setAttributeNode () вместо setAttribute (). Может работать в IE 6 и более поздних версиях.

0
ответ дан 4 December 2019 в 12:19
поделиться
Другие вопросы по тегам:

Похожие вопросы: