Dom - Ввод не принят в JS

1

Ребята, я изучаю javascript, я просто хочу взять ввод из текстового поля и отобразить его в окне предупреждения, но некоторые, как мой вход всегда показывает нуль. Вот мой код

var val = document.getElementById('val').value;

function testFunc() {
  alert(val);
  return false;
}
<form action="#" onsubmit="return testFunc()">
  <input type="text" id="val" name="val">
  <button type="submit" value="submit" name="submit">Submit</button>
</form>
  • 0
    Когда вы отправляете форму, она останавливает выполнение javascript, так как элемент управления перемещается на стороне сервера. Если вы хотите, чтобы это работало, измените тип вашей кнопки на кнопку, добавьте обработчик события click для кнопки и вызовите внутри нее свой метод testFunc ().
  • 0
    var val = document.getElementById('val').value; не распространяется в будущее; если вы хотите получить текущее value вашего ввода, вы должны сделать это после нажатия кнопки.
Теги:

3 ответа

1
Лучший ответ

Вам нужно получить значение внутри функции, а не снаружи, так как при загрузке страницы значение пусто, следовательно, оно показывает то же значение, что и при загрузке страницы для ввода, а не в текущий момент, см. Ниже

<form action="#" onsubmit="return testFunc()">
  <input type="text" id="val" name="val">
  <button type="submit" value="submit" name="submit">Submit</button>
</form>

<script>
  function testFunc() {
    var val = document.getElementById('val').value;
    alert(val);
    return false;
  }
</script>
0

Переместить var val = document.getElementById('val').value; внутри вашей функции обработчика.

лайк

function testFunc() {
    var val = document.getElementById('val').value;
    alert(val);
    return false;
}
<form action="#" onsubmit="return testFunc()">
   <input type="text" id="val" name="val">
   <button type="submit" value="submit" name="submit">Submit</button>
</form>

Почему: вы хотите получать значение только на странице, а не при загрузке DOM

-1
function testFunc(e){
e.preventDefault();

//add your code here
}

Просто позвоните в свою функцию. Не возвращайте его

Ещё вопросы

Сообщество Overcoder
Наверх
Меню