Formular ohne Submit versenden

  • Hallo,

    ich bin gerade dabei ein neues Quiz zu programmieren.

    Das Quiz, das ich im Moment habe, habe ich per iframe von einer anderen Seite eingebunden. Bei diesem Quiz ist es so, dass die Frage mit einem Klick auf den Radiobutton beantwortet werden kann. Es gibt also keinen submit-Button wie bei einem normalen Formular.

    Weiß jemand, wie so etwas gemacht wird? Mit Javascript vielleicht?

    Gruß

    Cujo

  • Ich habe es so gemacht:

    PHP
    echo '<input type="radio" name="antwort" value="' .$antworten[0]. '" onclick="this.form.submit();" /> ' .$antworten[0]. '<br />';

    Das funktioniert schon mal einwandfrei :)

    Ich habe jetzt aber das Problem, dass diese Abfrage nicht mehr funktioniert:

    PHP
    if(isset($_POST['senden']))

    Beim Drücken des submit-Buttons ist das Skript immer in diesen Teil reingesprungen. Mit der Javascript-Funktion klappt das nicht mehr. Hast du dafür auch noch eine Lösung?

  • HAst du einen Absendebutton drin oder nicht?
    Wenn du einen drin hast, kannst du name_des_buttons.click() aufrufen.
    Wenn nicht, kann du ja ein hidden input machen ;)

    Something big is coming. And there will be pirates and ninjas and unicorns...

  • Klaro, onclick geht auf alles.
    Bzw, du kannst das Ding mit einem Label versehen, dan klappts mim onchange auch.

    Something big is coming. And there will be pirates and ninjas and unicorns...

  • Ich habe es so

    PHP
    echo '<label for="antwort" onclick="this.form.submit();"><input type="radio" name="antwort" value="' .$antworten[0]. '" onclick="this.form.submit();" /> ' .$antworten[0]. '</label><br />';

    und so

    PHP
    echo '<label for="antwort" name="antwort" onclick="this.form.submit();"><input type="radio" name="antwort" value="' .$antworten[0]. '" onclick="this.form.submit();" /> ' .$antworten[0]. '</label><br />';

    versucht.

    In beiden Fällen funktioniert zwar das Klicken auf den Text, aber es wird wieder nicht in die if-Abfrage reingesprungen.

  • Ah, ja... sehs schon... onclick wird ausgeführt bevor, das Label wirksam wird. Da musst zuerst ein click() auf den zugehörigen Radiobutton machen oder ihn direkt setzen. Oder eine Zeitverzögerung (nur wenige ms) einbauen, sonst gilt der Button nciht als geklickt.

    Something big is coming. And there will be pirates and ninjas and unicorns...