1. Diese Seite verwendet Cookies. Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies. Weitere Informationen

Probleme mit Javascript form validation

Dieses Thema im Forum "Web-Programmierung" wurde erstellt von newmacuser24, 13.04.08.

  1. newmacuser24

    newmacuser24 Antonowka

    Dabei seit:
    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!
     
  2. mikescho

    mikescho Gala

    Dabei seit:
    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);
    }
    
     
  3. newmacuser24

    newmacuser24 Antonowka

    Dabei seit:
    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!
     
  4. janka

    janka Weigelts Zinszahler (Rotfranch)

    Dabei seit:
    23.05.06
    Beiträge:
    244
    confirm(answer) gibt true oder false zurück; also musst du z.B. schreiben var send = confirm(answer); und danch auf send abfragen.
     

Diese Seite empfehlen