Dropdown Boxen überprüfen
Meike
- javascript
0 gerhard
Hallo Liebe Brettgemeinde !
Ich habe ein Formular mit 31 DropdownBoxen und möchte überprüfen ob was ausgewählt wurde und falls Nein soll eine Fehlermeldung kommen.
Ich möchte aber nicht für jede Dropdownbox ein Script schreiben, gibt es vielleicht eine Schleife die soetwas abfragt ?
Über Eure Hilfe würde ich mich sehr freuen
Danke
Meike
Hallo Liebe Brettgemeinde !
Ich habe ein Formular mit 31 DropdownBoxen und möchte überprüfen ob was ausgewählt wurde und falls Nein soll eine Fehlermeldung kommen.
Ich möchte aber nicht für jede Dropdownbox ein Script schreiben, gibt es vielleicht eine Schleife die soetwas abfragt ?
Über Eure Hilfe würde ich mich sehr freuen
Danke
Meike
document.forms[0].elements[0].value ist der inhalt des ersten elements des ersten formulars, document.forms[0].elements[1].value ist der wert des zweiten elements des ersten formulars, ...
(hättest aber auch in der selfhtml gefunden....grrr)
gerhard
document.forms[0].elements[0].value ist der inhalt des ersten elements des ersten formulars, document.forms[0].elements[1].value ist der wert des zweiten elements des ersten formulars, ...
(hättest aber auch in der selfhtml gefunden....grrr)
gerhard
HAllo !
Danke für die Antwort aber meine Frage ist jetzt ob man dieses auch durch eine Schleife lösen kann.
Meike
Hallo Meike,
Danke für die Antwort aber meine Frage ist jetzt ob man dieses auch durch eine Schleife lösen kann.
ja sicher, siehe <58453.html>
Viele Grüße
Antje
naja klar:
<html>
<head>
<title>Untitled</title>
<script language="javascript">
function checkform()
{
for(i=0;i<=1;i++)
{
if (document.forms[0].elements[i].value == '')
{
alert('bitte wählen!');
document.forms[0].elements[i].focus();
return false;
}
}
}
</script>
</head>
<body>
<form onsubmit="javascript: return checkform();">
<select name="test1">
<option value="">wähle</option>
<option value="1">eins</option>
<option value="2">zwei</option>
</select>
<select name="test1">
<option value="">wähle</option>
<option value="gr">gruen</option>
<option value="bl">blau</option>
</select>
<input type="submit">
</form>
</body>
</html>
schönen tag noch,
liebe gruesse,
gerhard
Tag!
document.forms[0].elements[0].value ist der inhalt des ersten elements des ersten formulars, document.forms[0].elements[1].value ist der wert des zweiten elements des ersten formulars, ...
Ja, das nuetzt Dir aber nur was, wenn es sich dabei z.B. um Textfelder a.s.o. handelt. Der Wert der aktuell eingestellten Option einer Selection list wird aber so abgefragt:
selected_value = document.forms[0].elements[0].options[document.forms[0].elements[0].selectedIndex].value;
Um das etwas zu vereinfachen, kann man schreiben:
var select = document.forms[0].elements[0];
selected_value = select.options[select.selectedIndex];
Meike: Erst mal musst Du definieren, wie es sich aeussert, wenn in einer Dropdown-Box (== Selection list) "nichts" ausgewaehlt ist. Denn irgendwas ist ja immer ausgewaehlt. Hast Du vielleicht irgendein Dummy-Eintrag in jeder Liste, der by default ausgewaehlt ist?
Um in einer Schleife die Selects eines Forms zu pruefen, reicht ein Code wie dieser:
var i, select;
for (i=0; i<31; i++) {
select = document.forms[0].elements[i];
// hier auf "nichts ausgewaehlt" testen und reagiern
}
Wenn Du die Selects ueber mehrere Formulare verteilt hast, wird der Code etwas schwieriger. (Du musst dann auch das document.forms-Array mit einer Variable indizieren (wie oben das elements-Array mit der Variable i indiziert wird)).
HTH, Calocybe
Kleine Korrektur:
Um das etwas zu vereinfachen, kann man schreiben:
var select = document.forms[0].elements[0];
selected_value = select.options[select.selectedIndex];
Zweite Zeile muss heissen:
selected_value = select.options[select.selectedIndex].value;
So lange