Archiv verlassen und diese Seite im Standarddesign anzeigen : [JavaScript] Checkbox abfragen und handeln..
Hallo,
ich fummel hier schon die ganze Zeit an einer Javascript überprüfung eines Formulars herum.
Folgenden Code habe ich...
// Javascript Überprüfung
if(document.bestellungend.checkagb.checked != '1') {
alert('Lies Dir vor einer bestellung unsere AGB durch !');
document.bestellungend.checkagb.focus();
return false;
}
...
...
// Formular Code
<input name=\"checkagb\" type=\"checkbox\" class=\"checkbox\" value=\"1\">
Das Formular heisst auch bestellungend, andere überprüfungen funktionieren.
Ich hab es mittler weile mit .check == '0', .checked != '1', .checked == false, .checked != true probiert, doch irgendwie bin ich zu blöd dafür.
Kann mir da jemand helfen ?
wie und wo rufst du die überprüfung denn auf?
auf == '1' oder == '0' zu prüfen, halte ich für unsinnig - es geht hier um boolesche werte, nicht um strings.
btw: bei clientseitigen problemen bitte den code auch so posten, wie er beim client ankommt, und nicht irgendwelchen kram mit escapeten anührungszeichen, der eher auf PHP schliessen lässt.
// Formularteil
<form name=\"bestellungend\" method=\"post\" action=\"index.php?action=order\" onSubmit=\"return chkorderform1()\">
...
<tr>
<td><b>E-Mail:</b></td>
<td>
<input name=\"email\" type=\"text\" size=\"20\">
</td>
</tr>
...
<tr>
<td>
<input name=\"checkagb\" type=\"checkbox\" class=\"checkbox\" value=\"1\"> Allgemeine Geschäftsbedingungen gelesen und akzeptiert<br>
<br><br><input name=\"Submit\" type=\"Submit\" value=\"bestellen\"></form></td>
</tr>
// Funktion
function chkorderform1()
{
if(document.bestellungend.checkagb.checked != '1') {
alert('Lies Dir vor einer bestellung unsere AGB durch !');
document.bestellungend.checkagb.focus();
return false;
}
}
Das sind die wichtigsten Teile daraus.
Alle anderen überprüfungen in dem Formular funktionieren einwandfrei.
Nur die Checkbox nicht (ist die einzige Checkbox die überprüft wird).
1. lies dir bitte den letzten satz meines vorherigen postings noch mal durch, und editiere dein posting entsprechend.
2. bitte benutze nicht die [ quote ]-tags zu posten von code, weil dies das zitieren erschwert (quotes werden im antwort-formular rausgelöscht).
// Formular
<form name="bestellungend" method="post" action="index.php?action=order" onSubmit="return chkorderform1()">
...
<input name="checkagb" type="checkbox" class="checkbox">
// Functions.js
if(document.bestellungend.checkagb.checked == 0) {
alert('Lies Dir vor einer bestellung unsere AGB durch !');
document.bestellungend.checkagb.focus();
return false;
}
Sorry, nun sollte es deutlicher sein :)
if (!document.bestellungend.checkagb.checked)
Das geht auch irgendwie nicht.
was funz nicht ?
füge mal vor dem if in der Fkt. folgende Zeile ein:
alert("Eintritt in die Überprüfung");
wenn die Meldung kommt, versucht mal mit:
if (!document.forms[0].checkagb.checked)
Das letzte klappt auch irgendwie nicht.
Das erste hab ich nicht probiert weil davor noch andere Abfragen sind und die Funktionieren alle.
also irgendwas ist ober faul bei dir ;)
folgendes funz tadelos:
<html><head><title>Test</title>
</head><body>
<form name=test>
<script language="javascript">
<!--
function ValidateFields() {
if (document.test.checkagb.checked) alert("checked");
else alert("not checked");
}
// -->
</script>
<input name="checkagb" type="checkbox" value=1 onclick="ValidateFields();">
</form>
</body></html>
Also Dein Script geht bei mir auch.
Wenn ich die Funktion mit in meines einbaue dann geht es dort nicht.
Ich werd mich mal auf die Suche machen wo ich da den Fehler habe.
Es ist wohl definitiv ein Fehler den ich irgendwo eingebaut habe.
Byteandi 16-03-2004, 14:46 Hi....
Ich hab nur mal so kurz hier gelesen, ich denke mal du mac hst da was falsch......
if(document.bestellungend.checkagb.checked == 0) iss mit sicherheit verkehrt.........
if(document.bestellungend.checkagb.checked == true)
if(document.bestellungend.checkagb.checked == false)
iss eigentlich der richtige Ausdruck dafür
Byteandi
Doofe Frage, aber kann es sein das ich zuviel überprüfungen in einer Funktion habe ?
Ich habe 12 Stück drin.
Die beiden letzten sind die Checkboxes.
Wenn ich die nach oben setze dann geht es.
Dann funktioniert aber die letzte nicht mehr.
Ich habs !!!
Bei einer Abfrage war ein Feldname falsch geschrieben.
Was danach kam wurde nicht mehr gecheckt.
Byteandi 16-03-2004, 14:49 Denn poste am besten den gesamten Code, denn iss vieleicht was mittendrin verkehrt das er abbricht
Byteandi
Byteandi 16-03-2004, 14:53 hmmm da stimmt ja wohl die reihenfolge der Antworten nicht ganz....sieht lustig aus...
|