я немного трудно этим сегодня:Ошибка настройки имени созданного DOM элемента в IE - обходной путь?
function mk_input(name, val) {
var inp = document.createElement('input');
inp.name = name;
inp.value = val;
inp.type = 'hidden';
return inp;
}
Как выясняется, установка name
элемента, созданного с помощью createElement
не работает в IE. Это не приводит к ошибке или чему-либо еще, она просто терпит неудачу, заставляя задуматься, почему их скрытые поля неправильно заполняются.
Насколько я могу судить, нет обходного пути. Вам нужно просто укусить пулю и создать тег <input>
с помощью строковых манипуляций и вставить его с помощью .innerHTML
.
Есть ли лучший способ? Возможно, с чем-то вроде jQuery? Я сделал быстрый поиск и не нашел ничего похожего на createElement
в JQuery, но, возможно, я что-то пропустил.
Работает ли оно, если вы задаете имя после того, как узел находится в DOM? –
@Fabien, нет, это тоже не работает. – friedo