Javascript: For each 'Object' in Form[0]

Saugkraft

Aktives Mitglied
Thread Starter
Dabei seit
20.02.2005
Beiträge
9.022
Reaktionspunkte
3.189
Hallo liebe MUs,

Die Fakten:
Ich habe eine dynamische Seite, in der für jeden Datensatz einer Abfrage eine Auswahl per Radiobutton erstellt wird. In der Datenbank stehen z.B. x Items und für jedes Item soll eine Bewertung von 1-5 abgegeben werden. x, also die Zahl der Items ist nicht bekannt.

Auf diese Weise werden also x DIVs nach dem Schema
Code:
<div>
<input type="radio" name="bewertung" id="bewertung" value="1">
<input type="radio" name="bewertung" id="bewertung" value="2">
...
</div>
erzeugt.

Die Auswertung des Formulars nach dem POST ist kein Problem. Das erledige ich in ASP per
Code:
For I = 1 to Request.Form("bewertung").Count
 mach irgendwas mit request.form("bewertung")(I)
next
I ist hierbei der Index. D.h. wenn mehrere POST Variablen mit dem Namen "bewertung" vorkommen, wird die Schleife solange durchlaufen, bis alle Variablen abgearbeit sind.

Das Problem:

Ich möchte vor dem Absenden per Javascript überprüfen, ob jedes Item einen Wert hat, d.h. sicherstellen, dass der Benutzer in jedem DIV sein Kreuzchen gemacht hat.

Normalerweise würde ich das ja mit
Code:
if (document.GetElementById("bewertung").value="")
{...}
else
{...}
machen.

Da ich aber mehrere Elemente mit dem Namen "bewertung" habe, muss ich die irgendwie indizieren.

Die Frage:
Wie lasse ich in Javascript eine Schleife über eine Anzahl x von gleichnamigen Form-Elementen laufen, die die Werte der Elemente abfragt?
 
Etwa so (hingeschmiert und ungeprüft):
Code:
var bewertungen = new Array();
bewertungen = document.getElementsByName("bewertung");
for( var i=0; i<bewertungen.length; i++){
   if(bewertungen[0].value == 'bla'){blubber()}
}

Schau mal bei Selfhtml nach dem Document Object und nach Arrays.
 
  • Gefällt mir
Reaktionen: Saugkraft
Super. Danke Leute.

.length war der entscheidene Denkanstoß. :)

Dann werd ich das mal probieren.
 
Zurück
Oben Unten