2017-10-22 19 views
1

Ich versuche den Wert des Eingabefeldes in mein 'Daten' Array zu setzen, ich bin mir nicht sicher, was ich falsch mache. Wenn ich innerhalb der for-Schleife console.log(input) mache, erscheinen die Werte, die ich in das Textfeld eingib. Aber wenn ich console.log(data) mache, erscheint es einfach als {text : ""}.for loop for querySelectorALL

  var inputText = document.querySelectorAll("input[type='text']"); 
      var input = ""; 

      for(var index = 0; index < inputText.length; index++){ 
       input = inputText[index].value; 
       //console.log(input); 
      } 

      var data = {'text' : input}; 

      //console.log(data); 
+3

Sie müssen das Objekt .push und zu tun, dass innerhalb der Schleife: 'var data = []; für (var index = 0; index mplungjan

+1

Erfahren Sie mehr über [' Array'] (https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array#Methods_2) Methoden: Sie können das mit 'Array machen .from (inputText) .map (elem => elem.value) '. – Xufox

+0

Es ist nicht ganz klar, ob Sie die Werte von mehreren Elementen oder einem einzelnen benötigen, weil Sie den einzelnen "Wert des Eingabefeldes" angeben, aber auch "Array" und "Werte". Außerdem ist '{'text': input}' nicht Array, sondern Objekt ('[]' wird für Array-Objekt verwendet) – Slai

Antwort

1

Sie dies tun können array push function mit versuchen Sie dies:

  var inputText = document.querySelectorAll("input[type='text']"); 
 
      var data = []; 
 
     
 
      for(var index = 0; index < inputText.length; index++){ 
 
       data.push(inputText[index].value); 
 
      } 
 

 
      
 
      console.log(data);
<input type="text" name="test" value="test" />

+1

Bereits im Kommentar beantwortet. Es lohnt sich meiner Meinung nach nicht zu antworten, aber Sie drücken nichts wirklich auf Daten – mplungjan

+0

@mplungjan wie ist das, der Kommentarabschnitt ist für Kommentar und dort ist der Antwortabschnitt. – M0ns1f

+0

wir sind hier, um einander zu helfen, einige nicht zu machen, sollten Sie diesen Kommentar nicht beantworten;) – M0ns1f

-1

querySelectorAll ist für mehrere Elemente, und querySelector für ein einzelnes Element. Um bestimmte Element zu erhalten, ist die gängige Praxis einzigartig id (keine anderen Elemente sollten die gleiche id verwenden) zuweisen:

var input1 = document.getElementById("input1") 
 

 
var data = { text: input1.value } 
 

 
console.log(data)
<input id="input1" value="1"> 
 
<input id="input2" value="2">