• Apfeltalk ändert einen Teil seiner Allgemeinen Geschäftsbedingungen (AGB), das Löschen von Useraccounts betreffend.
    Näheres könnt Ihr hier nachlesen: AGB-Änderung
  • Die Bildungsoffensive hier im Forum geht weiter! Jetzt sollen Kreativität und technische Möglichkeiten einen neue Dimension erreichen. Das Thema in diesem Monat lautet - Verkehrte Welt - Hier geht es lang --> Klick

Probleme mit Javascript form validation

newmacuser24

Antonowka
Registriert
27.12.05
Beiträge
355
Hallo,

Es ist zum verzweifeln! Irgendwie klappt die Überprüfung des übermittelten Formulars mittels JavaScript nicht so richtig.

Ich habe in einem Formular mehrere radio buttons. Jetzt möchte ich, sobald das Formular übermittlet wird, dass überprüft wird, welcher radio button angewählt wurde, sodass nochmal eine confirm Mitteilung ausgegeben werden kann und der user somit seine Auswahl bestätigt.

Hier der Code:

<script type="text/javascript">


function validate() {
var chosen = document.form.getElementByName('myRadioButtonGroup');
if (chosen.value=='weekly') {
var answer = confirm('chosen weekly!');
if (answer) {
return true;
}
else {
return false;
}
}
else if (chosen.value=='monthly') {
var answer = confirm('chosen monthly!');
if (answer) {
return true;
}
else {
return false;
}
}
}

</script>

Hier HTML:

<form action="" name="form" method="post" onsubmit="return validate()">
<input type ="radio" name="myRadioButtonGroup" value ="weekly" > Weekly <br/>
<input type="radio" name="myRadioButtonGroup" value ="monthly" > Monthly <br/>
<input type="submit" name="submit" value="Submit">
</form>

Ich denke ich mache hier etwas grundlegendes falsch, denn der code scheint logisch.

Danke schonmal im Voraus!
 
Du musst den Status der Radiobuttons einzeln abfragen, etwa so:
Code:
function validate(){
var answer;
if (document.form.myRadioButtonGroup[0].checked === true) {
answer = 'chosen weekly!';
} else if (document.form.myRadioButtonGroup[1].checked === true) {
answer = 'cosen monthly!';
}
confirm(answer);
}
 
Hallo,

VIELEN DANK!

Jetzt klappt das Anzeigen der confirm Nachrichten. Wäre ja zu schön gewesen, wenn es das schon gewesen wäre :-)

Habe den Code jetzt folgendermassen angepasst:

function validate(){
var answer;
if (document.form.myRadioButtonGroup[0].checked === true) {
answer = 'chosen weekly!';
} else if (document.form.myRadioButtonGroup[1].checked === true) {
answer = 'chosen monthly!';
}
confirm(answer);

if (answer) {
return true;
}
else {
return false;
}
}

Das Formular wird jedoch in jedem Fall übermittelt, was nun auch wieder nicht sein soll. Vermutlich fehlt da noch ne Kleinigkeit!?

Vielen Dank schonmal im Voraus!
 
confirm(answer) gibt true oder false zurück; also musst du z.B. schreiben var send = confirm(answer); und danch auf send abfragen.