У меня есть функция Javascript, которая должна обновлять скрытое поле ввода в моей форме с числом, которое увеличивается каждый раз, когда вызывается функция.
Сначала он работал с getElementById(), потому что мне пришлось перепроектировать мою форму. Я не могу использовать функцию php для назначения отдельного идентификатора элементу, поэтому все, что у меня есть, является уникальным именем для этого элемента.
Поэтому вместо этого я решил использовать getElementsByName() из Javascript для изменения элемента.
Вот HTML этого элемента
<input type="hidden" value="" name="staff_counter">
Это мой код Javascript:
window.onload=function()
{
//function is activated by a form button
var staffbox = document.getElementsByName('staff_counter');
staffbox.value = s;
s++;
}
Я не получаю ошибок в Firebug, когда функция вызывается, и поле ввода не получает значения, предоставленного ему.
Он работал с getElementById(), но почему он внезапно не работает с getElementsByName()?
- - Я проверил, что это единственный уникальный элемент в документе.
- -I проверял на наличие ошибок в Firebug при активации функции
Вот код, который я использую из Codeigniter, чтобы сделать элемент
// staff_counter is name and the set_value function sets the value from what is
//posted so if the validation fails and the page is reloaded the form element does
// not lose its value
echo form_hidden('staff_counter', set_value('staff_counter'));
Спасибо