У меня есть функция 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 ()?
- -Я проверил, что это единственный уникальный элемент в документе.
- -Я проверил наличие ошибок в 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'));
Спасибо