"Checkbox" liefert immer denselben Wert ! Was mach ich falsch ?
Mathias
- html
0 Cheatah
Hallo lieber Leser,
erstmal "Danke" für Dein Interesse. Ich weiss mir nicht mehr zu helfen:
Ich habe ein Formular erstellt, in dem unter anderem eine "Checkbox" vorhanden ist:
<p><input name="agbgelesen" type="checkbox"><font face="Comic Sans MS" size="1">Ich habe die <a href="">ABGs</a> gelesen und erkläre mich damit einverstanden.</font></p>
Bevor das Formular abgesendet werden kann, soll eine Java-Script-Routine den Wert dieser Checkbox überprüfen.
<script LANGUAGE="JavaScript">
<!--
function formcheck()
{
if (document.Formular.agbgelesen.value != "on")
{
alert("Ohne Ihre Zustimmung zu unseren Geschäftsbedingungen können wir Ihre Bestellung nicht bearbeiten.");
document.Formular.agbgelesen.focus();
return false;
}
}
//-->
</script>
Und nun das Problem: Egal, ob die Checkbox aktiviert wurde oder nicht, es wird immer "on" zurückgeliefert.
Was mach' ich falsch ?
Hi,
Und nun das Problem: Egal, ob die Checkbox aktiviert wurde oder nicht, es wird immer "on" zurückgeliefert.
naja, dann schreib halt <input name="agbgelesen" type="checkbox" value="irgendwas anderes">, dann hast Du als value nicht "on", sondern "irgendwas anderes". Und wenn Du wissen willst, ob der User die Checkbox angeklickt hast, überprüfst Du die checked-Eigenschaft... ;-)
Cheatah
hallo Cheatah,
naja, dann schreib halt <input name="agbgelesen" type="checkbox" value="irgendwas anderes">,
das wird wohl nicht reichen, solange dort:
if (document.Formular.agbgelesen.value != "on")
steht.
Es sollte noch dastehen:
if (document.forms.agbgelesen.value != "on")
... und dann könnte der Rest durchaus so bleiben, wie er ist.
Grüße
Christoph S.
Hallo, Christoph,
Danke für Deinen Beitrag, aber geholfen hat's leider nicht:
Es kommt dann zu einem Java-Script-Fehler (Null oder kein Objekt).
Ich habe im FORM-Tag einen Namen für das Formular vergeben. Das Ansprechen der anderen Formularfelder über JS funktioniert ja auch tadellos.
Mathias
Hallo,
Ich habe im FORM-Tag einen Namen für das Formular vergeben. Das Ansprechen der anderen Formularfelder über JS funktioniert ja auch tadellos.
Du willst doch eigentlich nur abfragen:
if (!document.Formular.agbgelesen.checked)
{
// ...
}
Dieses value="on" brauchst Du nicht und es wird auch gar nicht zugewiesen.
MfG, Thomas
Hallo Thomas,
tausend Dank, es funktioniert !
Mathias
hi,
Es kommt dann zu einem Java-Script-Fehler (Null oder kein Objekt).
Ich habe im FORM-Tag einen Namen für das Formular vergeben. Das Ansprechen der anderen Formularfelder über JS funktioniert ja auch tadellos.
schreib einfach:
if (!document.forms.agbgelesen.checked)
das heißt, du machst eine Negativ-Abfrage draus, dann kannst du die Frage nach "value" völlig streichen
Christoph S.
Hi,
das wird wohl nicht reichen,
hab ich auch nicht behauptet - wie Du in dem Teil hättest nachlesen können, den Du vorsichtshalber nicht zitiert hast ;-)
Cheatah