• Apfeltalk ändert einen Teil seiner Allgemeinen Geschäftsbedingungen (AGB), das Löschen von Useraccounts betreffend.
    Näheres könnt Ihr hier nachlesen: AGB-Änderung
  • Was gibt es Schöneres als den Mai draußen in der Natur mit allen Sinnen zu genießen? Lasst uns teilhaben an Euren Erlebnissen und macht mit beim Thema des Monats Da blüht uns was! ---> 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!
 

mikescho

Gala
Registriert
10.08.05
Beiträge
52
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);
}
 

newmacuser24

Antonowka
Registriert
27.12.05
Beiträge
355
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!
 

janka

Wohlschmecker aus Vierlanden
Registriert
23.05.06
Beiträge
243
confirm(answer) gibt true oder false zurück; also musst du z.B. schreiben var send = confirm(answer); und danch auf send abfragen.