список getelementbyid в javascript - PullRequest
0 голосов
/ 12 мая 2018

Я пытаюсь создать цикл, который будет помещать значения из входных данных в массив.Дело в том, что у меня 81 вход, и их идентификаторы "cells-[x]".

Я пытался сделать

<script type="text/javascript">
    var test = [];
    for(i=0;i<80;i++){
        test[i]=(document.getElementById('cell-[i]').value);
    }
</script>

, но он не работает.

Кстати, я мог ошибиться в самом цикле for, но это не моя точка зрения (я только новичок).

Ответы [ 2 ]

0 голосов
/ 12 мая 2018

Вы можете использовать addEventListener для формы и вызвать пользовательскую функцию getValues(), которая получит значения для всех входов.Вы можете использовать querySelectorAll(), чтобы собрать все входные данные один раз независимо от их id, а затем зациклить их, используя forEach и используйте .push(), чтобы добавить значения в массив, который мы будем использовать для сбора входных значений.

См. Демонстрацию ниже, попробуйте добавитьзначения для ввода и нажмите кнопку отправки

//get all the inputs 
var inputs = document.querySelectorAll("input");

// valArray used to collect the values of input
var valArray = [];
//function to get the values of the form inputs
function getValues() {

  //loop the aray using foreach
  inputs.forEach(function(input) {

    //use array.push() to add the values to the custom array of input values
    valArray.push(input.value);

  });

}
//add submit event listner for the form
document.querySelector("#my-form").addEventListener("submit", function(e) {
  e.preventDefault(); //stop form from submitting
  getValues();
  console.log(valArray);
});
<form name="my-form" id="my-form">
  <input>
  <input>
  <input>
  <input>
  <input>
  <input>
  <input>
  <input>
  <input type="submit">
</form>
0 голосов
/ 12 мая 2018

Две вещи:

1. Ваш 'cell-[i]' все в строке, поэтому каждый раз, когда он думает, что вы принимаете значение: 'cell-[i]'. Замените ваш параметр в getElementById на:

('cell-[' + i + ']').

2. Попробуйте:

test.push(document.getElementById('cell-[' + i + ']').value)

Это должно сделать это.

...