Maike: Formulardaten mit einem Klick verschicken

Guten Abend!

Ich lerne gerade PHP und habe bereits erfolgreich ein Formular erstellt, mit dem ich Daten per POST verschicke und dann auf einer anderen Seite anzeigen kann.

Soweit so gut. Doch da ich nur einen Datensatz verschicken brauche, wäre es für den Benutzer bequemer, wenn er nur den Checkbutton im Formular anklicken bräuchte um die Daten zu verschicken und nicht noch extra den Submit-Button. Dass dies geht, weiß ich, da ich das auf einigen Seiten schon sah. Wie es aber geht, weiß ich nicht :(

Hier mein Code:

<html><body>

<form action="002.php" method="post">
  <input type="Radio" name="Lieblingsbuch" value="Kochbuch"> Kochbuch </input>
  <input type="Radio" name="Lieblingsbuch" value="Roman"> Roman </input>
  <input type="submit" value="OK">
  </form>

</body></html>

Wie kann ich die Daten also per POST verschicken indem NUR der Radiobutton geklickt wird und NICHT der Submit-Button?

Danke

  1. Hi Maike,

    Wie kann ich die Daten also per POST verschicken indem NUR der Radiobutton geklickt wird und NICHT der Submit-Button?

    Nicht mit PHP, da dieses eine serverseitige Technik ist, also auf dem Server abläuft. Nutze eine clientseitige Technik - Javascript würde sich hier anbieten.

    MfG, Dennis.

    --
    Mein SelfCode: ie:{ fl:( br:> va:) ls:[ fo:) rl:( n4:# ss:) de:] js:| ch:{ sh:| mo:} zu:|
    Crypt::PasswdMD5 jetzt auch in PHP
    Schon gewusst, dass Bugs und Feature Vorschläge für das CForum ins Entwicklerforum oder in den BugTracker von WWWTech gehören und nicht hier her?
    1. Danke für die super schnelle Antwort Dennis,

      aber wie soll das mit JavaScript gehen? Kannst du mir da noch einen Tipp geben?

      Oder wenn es schon mit JavaScript ist, wäre vielleicht eine Aufzählung von normalen Links einfacher, die einfach um den JavaScript-Code erweitert sind. Vielleicht irgendetwas mit OnClick oder so?

      Danke

      Hi Maike,

      Wie kann ich die Daten also per POST verschicken indem NUR der Radiobutton geklickt wird und NICHT der Submit-Button?

      Nicht mit PHP, da dieses eine serverseitige Technik ist, also auf dem Server abläuft. Nutze eine clientseitige Technik - Javascript würde sich hier anbieten.

      MfG, Dennis.

      1. Hi Maike,

        aber wie soll das mit JavaScript gehen? Kannst du mir da noch einen Tipp geben?

        Mein Tip heißt SelfHTML - Javascript, submit().

        Oder wenn es schon mit JavaScript ist, wäre vielleicht eine Aufzählung von normalen Links einfacher, die einfach um den JavaScript-Code erweitert sind. Vielleicht irgendetwas mit OnClick oder so?

        Mit normalen Links wirst du keine Daten per POST versenden können.

        So solltest du vorgehen:

        • Mache ein normales Formular, und vergesse den Submit Button nicht (wichtig!)
        • Blende den Submit Button vorn mir aus per Javascript aus (.style.display = 'none')
        • Gib den Radio-Buttons per OnClick .submit() für das Formular

        So können Leute mit deaktiviertem Javascript das Formular immer noch über den normalen Button absenden.

        MfG, Dennis.

        PS: Bitte unterlasse TOFU.

        --
        Mein SelfCode: ie:{ fl:( br:> va:) ls:[ fo:) rl:( n4:# ss:) de:] js:| ch:{ sh:| mo:} zu:|
        Crypt::PasswdMD5 jetzt auch in PHP
        Wer die FAQ gelesen hat, ist klüger! ... und weiß wie man Links macht ;-)
        1. Hallo Dennis,

          vielen lieben Dank für die erneute Hilfe! Dank deiner Hilfe klappt es nun super ;)

          Hier meine Lösung, die prima funktioniert und hoffentlich auch soweit ok ist ;)

          Noch einmal Danke für die super Hilfe!

          <html><body>

          <form name="form1" action="002.php" method="post">
            <input type="Radio" name="buch" value="Kochbuch" onClick="DankeDennis()"> Kochbuch </input>
            <input type="Radio" name="buch" value="Roman" onClick="DankeDennis()"> Roman </input>
            <input type="submit" value="OK">
            </form>

          <script type="text/javascript">
            function DankeDennis () {
            document.form1.submit();
            }
            </script>

          </body></html>