Кажется, не удается получить значение этого поля ввода. Что случилось? - PullRequest
1 голос
/ 06 мая 2020

Каждый раз, когда я запускаю этот код в своем браузере и когда я нажимаю на одну из кнопок, я не могу получить предупреждение для отображения значения. Здесь просто написано undefined. Но я не понимаю, что я здесь делаю не так.

Вот код:

<body>   
  <h1>Optelmachine in Javascript</h1>
     <form id="calculator">
        <textarea name="field" id="field" cols="32" rows="3"></textarea>
        <br> <br>
        <input  type="button"   class="waarde"  name="waarde"   value="1"  onclick="getInputValue()">
        <input  type="button"   class="waarde"  name="waarde"   value="2"  onclick="getInputValue()">
        <input  type="button"   class="waarde"  name="waarde"   value="3"  onclick="getInputValue()"><br> <br>
        <input  type="button"   class="waarde"  name="waarde"   value="4"  onclick="getInputValue()">
        <input  type="button"   class="waarde"  name="waarde"   value="5"  onclick="getInputValue()">
        <input  type="button"   class="waarde"  name="waarde"   value="6"  onclick="getInputValue()"><br> <br>
        <input  type="button"   class="waarde"  name="waarde"   value="7"  onclick="getInputValue()">
        <input  type="button"   class="waarde"  name="waarde"   value="8"  onclick="getInputValue()">
        <input  type="button"   class="waarde"  name="waarde"   value="9"  onclick="getInputValue()"><br> <br>
        <input  type="button"   class="waarde"  name="waarde"   value="0"  onclick="getInputValue()">
        <input  type="button"  class="waarde1" name="reset"    value="Clear" onclick="addition()">
     </form>
     <script>
        function getInputValue() {
           var inputVal = document.getElementsByName("waarde").value;
           alert(inputVal);
        }
  </script>

Ответы [ 4 ]

2 голосов
/ 06 мая 2020

Попробуйте это

<input  type="button"   class="waarde"  name="waarde"   value="0"  onclick="getInputValue(event)">
     </form>
     <script>
        function getInputValue(event) {
           let inputVal = event.target.value
           alert(inputVal);
        }

Если вы ожидаете получить значение onClick

1 голос
/ 06 мая 2020
    function getInputValue() {
       var inputVal = this.value;
       alert(inputVal);
    }

попробуйте вместо этого. Это предупредит значение нажатой кнопки.

1 голос
/ 06 мая 2020

Функция getElementsByName () возвращает массив элементов, а не только один элемент. Чтобы получить значение поля ввода, вам нужно указать индекс, например

var inputVal = document.getElementsByName("waarde")[0].value;
0 голосов
/ 06 мая 2020

getElementsByName возвращает коллекцию элементов, а не один элемент. Вы должны узнать, какой элемент был нажат. Используйте onclick = "getInputValue (event) во входных данных и получите значение, используя event.target.value в вашей функции.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...