Ankündigung

Einklappen
Keine Ankündigung bisher.

Formular automatisch senden mit bestimten Knopf

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Formular automatisch senden mit bestimten Knopf

    Hallo miteinander,

    ich möchte ein Formular direkt nach der Auswahl einer Select Box versenden, ich glaube das das auch klappt.
    ich wies nur nicht wie ich dem Java Script mitteile welcher Knopf fürs senden da ist.


    Das ist mein Code:
    Code:
    <form action="#" method="post" name="form_test">
         <div class="select-style">
             <select name="Test" size="1" autocomplete="off" id="selectbox" onChange="javascript:document.form_test.submit()">
                <option value="0">--Bitte Wählen--</option>
                <option value="1">1</option>
                <option value="2">2</option>
                <option value="3">3</option>
             </select>
         </div>
         <input type="submit" name="header_select_senden" value="Go"     class="btn" />
         <input type="submit" name="logout"               value="LogOut" class="btn" />
    </form>
    Hiermit würde ich gerne Prüfen ob eine Auswahl getroffen wurde:
    Code:
    <?php
    if (isset($_POST['header_select_senden'])) {
         $errorMessage = "<br /> Hat geklappt. Auswahl = ".$_POST['Test']."<br />";
    }
    ?>
    das Formular wird versendet, jedoch nicht mit der Angabe des Knopfes "header_select_senden" kann ich das in den onChange Befehl mit einbauen? und wenn ja wie?


    gruß Mücke

  • #2
    Hi, lass mal das onchange weg und setze da einfach einen Event-Listener drauf: https://codepen.io/PHProcks/pen/bRxaKZ
    Warum genau willst Du mitteilen, dass der Knopf gedrückt wurde? Prüfst Du, ob der übermittelt wurde?

    Der Vollständigkeit halber mit Click-Trigger: https://codepen.io/PHProcks/pen/KqxZYw
    Zuletzt geändert von Arne Drews; 07.07.2017, 13:54.
    PHProcks! » Tutorials

    Kommentar


    • #3
      Hey,

      ich glaube ich habe verstandene was das JS da macht.
      ich kenne mich mit JS nicht aus, wo muss ich das dann hin kopieren?

      ich habe das so versucht: (meine Testseite), bei dem Beispiel das du auf der Code Seite erstellt hast, klappt das bei mir jedoch nicht :-(
      Code:
      <!doctype html>
      <html lang="de">
        <head>
          <meta charset="utf-8">
          <meta name="viewport" content="width=device-width, initial-scale=1.0">
          <title>Titel</title>
      
          <script language="javascript" type="text/javascript">
              <!--
              var oSelect = document.querySelector( 'select[name="Test"]' );
              var oButton = document.querySelector( 'input[name="header_select_senden"]' );
      
              oSelect.addEventListener('change', function(e) {
                e.preventDefault();
                oButton.click();
              });
              -->
          </script>
        </head>
        <body>
      
      <form action="#" method="post" name="form_test">
           <div class="select-style">
               <select name="Test" size="1" autocomplete="off" id="selectbox">
                  <option value="0">--Bitte Wählen--</option>
                  <option value="1">1</option>
                  <option value="2">2</option>
                  <option value="3">3</option>
               </select>
           </div>
           <input type="submit" name="header_select_senden" value="Go"     class="btn" />
           <input type="submit" name="logout"               value="LogOut" class="btn" />
      </form>
      
      <?php
      if (isset($_POST['header_select_senden'])) {
           echo"<br /> Hat geklappt. Auswahl = ".$_POST['Test']."<br />";
      }
      ?>
        </body>
      </html>
      was mache ich Falsch?

      Gruß Mücke
      Zuletzt geändert von Muecke.1982; 07.07.2017, 17:00.

      Kommentar


      • #4
        Dein Javacript wird ausgeführt, bevor die DOM-Elemente geladen sind.
        Einige vertreten die Meinung, das JS einfach nach unten in den BODY zu hauen, ich nutze allerdings immer das Event DOMContentLoaded:
        PHP-Code:
        <?php
        header 
        'Content-Type: text/html; Charset=utf-8;' );

        $xVar = isset( $_POST['header_select_senden'] )? htmlspecialchars($_POST['Test'], ENT_COMPAT'UTF-8'): null;


        ?>
        <!doctype html>
        <html lang="de">
        <head>
        <meta charset="utf-8">
        <meta name="viewport" content="width=device-width, initial-scale=1.0">
        <title>Titel</title>

        <script language="javascript" type="text/javascript">

        document.addEventListener( 'DOMContentLoaded', function() {

            var oSelect = document.querySelector( 'select[name="Test"]' );
            var oButton = document.querySelector( 'input[name="header_select_senden"]' );

            oSelect.addEventListener('change', function(e) {
                e.preventDefault();
                oButton.click();
            });

        });

        </script>
        </head>
        <body>

        <form action="#" method="post" name="form_test">
            <div class="select-style">
                <select name="Test" size="1" autocomplete="off" id="selectbox">
                    <option value="0">--Bitte Wählen--</option>
                    <option value="1">1</option>
                    <option value="2">2</option>
                    <option value="3">3</option>
                </select>
            </div>
            <input type="submit" name="header_select_senden" value="Go"     class="btn" />
            <input type="submit" name="logout" value="LogOut" class="btn" />
        </form>

        <?php echo !is_null($xVar)? '<br> Hat geklappt. Auswahl = ' $xVar '<br>'''?>

        </body>
        </html>
        PHProcks! » Tutorials

        Kommentar

        homepage-forum.de - Hilfe für Webmaster! Statistiken

        Einklappen

        Themen: 56.459   Beiträge: 428.481   Mitglieder: 27.877   Aktive Mitglieder: 60
        Willkommen an unser neuestes Mitglied, jorna2a.

        Online-Benutzer

        Einklappen

        650 Benutzer sind jetzt online. Registrierte Benutzer: 2, Gäste: 648.

        Mit 2.057 Benutzern waren am 14.07.2019 um 11:45 die meisten Benutzer gleichzeitig online.

        Die neuesten Themen

        Einklappen

        SimpleSite

        Die neuesten Beiträge

        Einklappen

        Lädt...
        X