Я сталкиваюсь с действительно непонятной проблемой, когда у меня есть чрезвычайно простая (читай, новичок ie, пытающаяся понять) веб-форма. Форма выглядит следующим образом:
<form id="myform">
<input type="text" name="t" id="t" />
<input type="submit" id="sub" value="Submit" />
</form>
Затем у меня есть несколько очень простых js, которые я просто хочу использовать, чтобы проверить, какое значение имеет пользователь перед выполнением каких-либо других действий и отправкой.
function search()
{
var form = document.querySelector("form");
s = form.elements[0].value;
alert(form.elements[0].type);
alert(form.elements[0].value);
}
Что я не понимаю, так это то, почему, независимо от того, что я делаю, первое предупреждение показывает тип «текст», как я хочу, а второе вообще ничего не возвращает. Неважно, что находится в поле, когда я отправляю сообщение, оно исчезает до того, как javascript даже поймает его.
Я также пытался
document.forms["myform"].addEventListener("submit", function(event) {
event.preventDefault();
});
И, похоже, это никак не отразилось на том факте, что страница всегда отправляется, когда я обновляю sh, но она не позволяла моей кнопке отправить.
; tldr Я просто хочу получить текстовое значение из моего текстового поля, чтобы я мог выполнить некоторую проверку, но оно всегда пустое.
edit
Let я знаю, могу ли я "закрыть" вопросы. Проблема заключалась в том, как я связал функцию с кнопкой, которую я даже не рассматривал. Будьте осторожны с этими "()"