Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > JavaScript: Общие вопросы > Как обратиться к полям формы с именами name[]?


Автор: Sardar 9.12.2005, 12:40
Как обратиться к полю формы, в имени которого есть контрольные символы, например []?

Просто указываем полное имя в виде строки:

Код
var form=document.getElementById('myform');
form.elements['myfield[]'].value=90;
form.elements['myfield[6]'].value=100;


Этот приём "индексирования" применим для любых обьектов в JS. Имена полей могут иметь любые символы:

Код
var a={
 "field":"test",
 "my super field[]": 90,
 "~!@##%^&*+-*/": 100
};
alert(a.field);
alert(a["my super field[]"]);
alert(a["~!@##%^&*+-*/"]);


Этой свободой можно пользоваться при построении словарей, но нужно учитывать что все обьекты наследуют интерфейс от Object, так что такие ключи как "toString", "wait" и т.д. приведут к неожиданным результатам.
Выход: добавлять тильду '~' перед своим ключём, тогда точно конфликтов с именами не будет.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)