d3nn1s: Dynamisches Auslesen von Werten und Übergabe an Funktion

Beitrag lesen

Ok, also nochmal alles ganz ausführlich.
Ich habe eine HTML Seite in der verschiedene Texteingabefelder enthalten sind. Die Anzahl der Texteingabefelder ist immer Variabel. Das heißt mal gibt es 2 Felder, mal 15 und mal 6 beispielsweise.

  
...  
<input type="text" id="text1" name"text1" value="" />  
<input type="text" id="text2" name"text2" value="" />  
...  

Dann gibt es einen Button, der die Funktion "doSomething()" aufruft.

  
<input type="button" name="send" value=" Send " onclick="doSomething();" />  

Diese Funktion soll nun prüfen, wieviele Eingabefelder es gibt und diese Werte auslesen. Diese Werte sollen nun in der Funktion "doSomething()" an die Funktion "setData()" weitergegeben werden.
Die Funktion "setData()" erwartet eine gewisse Anzahl an Parametern. Es ist aber auch möglich, mehr Parameter zu übergeben, da in der Funktion "setData()" die Anzahl der übergebenen Parameter per arguments.length abgefragt wird und dementsprechend weiterverarbeitet.

Nun ist meine Frage ganz einfach. Wie muss ich die Funktion "doSomething()" verändern, dass mir alle Texteingaben als einzelne Parameter an die Funktion "setData()" übergeben werden.

  
function doSomething()  
{  
 var noOfEntries = document.getElementById('list').childNodes.length;  
 var tempArray = new Array();  
 for(var a=0;a < noOfEntries ;a++)  
 {  
  tempArray = tempArray.concat(document.getElementById('list').childNodes[a].firstChild.nodeValue);  
 }  
  
/* Übergabe an die Funktion: So funktioniert es, nur dass ich nicht weiß, wie ich es vermeide tempArray[0], tempArray[1]... zu schreiben, da die Anzahl der Werte ja unbekannt ist. */  
  
setData(para1,para2,para3,para4,tempArray[0],tempArray[1],tempArray[2],tempArray[3]);  
}  

Mir war bislang nicht bekannt, dass man eleganter die Werte über ein Array übergibt. Daher habe ich die Funktion "setData()" so geschrieben, dass die Anzahl an Parametern abgefragt wird und nicht wie von Don P. beschrieben per Array und das dann auseinander genommen wird.

Ich hoffe nun war es verständlich. Bitte nicht falsch verstehen, ich bin dankbar für jeden Hinweis oder Verbesserungen.

Viele Grüße

Dennis