Вызов getElementById()
для извлечения поля 'hidden' в форме возвращает null
.Тип ввода = "скрытый" не может быть получен из getElementById
Я изучил другие вопросы, и многие использовали «имя» скрытого поля вместо «id» в вызове getElementById()
или выполняли getElementById()
в скрипте в верхней части файла перед фактическим html, содержащим скрытое поле было обработано браузером. Обе эти ошибки объяснят, почему getElementById()
возвращал null
для них.
Я мог ошибаться, но я не думаю, что это мое дело здесь.
Это моя форма:
<form name="theDeleteItemForm" id="deleteItemForm" action="deleteTheSelectedItem"
method="post"
<input type="hidden" id="theHiddenField" name="deleteThisSelectedItem" value="">
</form>
А вот обработчик Javscript, который успешно выполнения, когда кнопка «удалить» на странице щелкают (я могу сказать, потому что мои alert()
коробки в обработчике функция ниже выскакивают):
function deleteItem()
{
alert("Just entered deleteItem()");
var theFieldToDelete = document.getElementById('theHiddenField');
// THIS IS THE PLACE WHERE I FOUND THAT 'theFieldToDelete' WAS 'null'
alert("Just got the hidden field element, which is: " + theFieldToDelete);
// THIS DOES NOTHING MORE THAN TO PREVENT THE 'alert' THAT FOLLOWS FROM APPEARING
theFieldToDelete.value = "upForDeletion";
alert("deleteItem() was called, about to submit the form");
document.theDeleteItemForm.submit();
}
Я не понять, почему я получаю null
возвращения из getElementById()
. У меня создается впечатление, что getElementById()
работает FINE для полей type="hidden"
.
Кроме того, идентификатор, который я использовал для моего скрытого поля - theHiddenField
- на 100% уникален в моем файле.
Почему я получаю null
, когда пытаюсь получить скрытое поле через getElementById()
?
Сомнение это причина, но ваш '' тег не закрыт. В теге открытия '
Исправьте свой HTML, и это должно работать исправно. –
И удостоверьтесь, что ваши идентификаторы уникальны. – mplungjan