Рассмотрим следующую простую форму:
<form method="GET" action="handle.php">
<input type="hidden" name="action" value="search">
</form>
Отправка формы выполняется Javascript (iui) в вызове ajax.Все поля правильно собраны из формы.Затем Javascript хочет отправить вызов ajax на « form.action ».
Вот где начинается моя проблема.Объект форма имеет тип HTMLFormElement.Предполагается, что свойство action формы имеет тип string и должно содержать "handle.php".После нескольких часов отладки я заметил, что form.action теперь имеет тип HTMLInputElement.
Мой вопрос: это правильное поведение Javascript?Я бы никогда не подумал, что при определении поля формы с именем атрибута формы это произойдет.Тем временем я решил проблему, назвав свое поле по-другому.
Заранее благодарен за любой совет ...
Найден простой способ отобразить мою проблему.Сначала форма с проблемой:
<form action="test.php">
<input type="hidden" name="action" value="test">
<input type="button" onclick="alert(this.form.action);">
</form>
И правильная форма:
<form action="test.php">
<input type="hidden" name="NOT_AN_ATTRIBUTE_NAME" value="test">
<input type="button" onclick="alert(this.form.action);">
</form>
В первом всплывающее окно сообщает «[object HTMLInputElement]», во втором:«http://localhost/test.php".