Ввод формы HTML в массив Javascript - PullRequest
0 голосов
/ 17 декабря 2018

Моя цель - ввести одно имя в текстовую форму HTML.Каждый раз, когда я нажимаю submit

, это значение сохраняется в массиве javascript.В настоящее время я могу получить первое значение, которое я отправляю в массив, но не последующие значения.Надеюсь, я достаточно ясно, Любая помощь будет здорово.

Вот мой JavaScript

function getListOfNames() {
 "use strict";

  //Declare variables
  var form;
  var getNameValue;
  var myArray = [];
  var output;

  //Assign values	
  output = document.getElementById("myTable");
  form = document.getElementById("myForm");
  getNameValue = form.getNameValue.value;

  //Each time form is submited put the new value into array

  myArray.push(getNameValue);

  //output the results 

  output.innerHTML = myArray;
}

function project5Part2() {
  "use strict";

  // Your code goes in here.

   getListOfNames();

  return false;

}



Here is my HTML

<form  id="myForm" action="#"  onsubmit=" return project5Part2();" > 
  <label for="firstName">Enter Name</label> 
  <input type="text" id="enteredName" name="getNameValue"/>
  <input type="submit" value="Enter Name" />
  <input type="reset"  value="Clear form - DO NOT SEND" />
</form>

1 Ответ

0 голосов
/ 17 декабря 2018

Удалить отправку из формы.измените input type="submit" на обычную кнопку и используйте onclick для выполнения JavaScript.

<form id="myForm" action="#" > 
      <label for="firstName">Enter Name</label> 
      <input type="text" id="enteredName" name="getNameValue"/>
      <button type="button" onclick="project5Part2();">Enter Name</button>
      <input type="reset"  value="Clear form - DO NOT SEND" />
    </form>

Создайте или используйте глобальный массив (не может быть заключен в метод, если вы хотите сохранить)

При нажатии кнопки проверяется значение текстового поля и, если оно не пустое, добавляется значение в массив.

var myArray = new Array();
    function project5Part2() {
        var name = document.getElementById('enteredName').value;
        if (!(typeof name === 'undefined') && name!=null && name.trim()!='') {  
            myArray.push(name);
        }
        console.log(myArray);
        document.getElementById('enteredName').value = '';
    }

Будет регистрировать содержимое массива при каждом нажатии кнопки.Например: ["albert", "manny", "susan"]

Значение текстового поля очищается при каждом добавлении имени.

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