[JavaScript] Formular onChange() absenden und zusätzlichen Wert mitsenden.

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

  • [JavaScript] Formular onChange() absenden und zusätzlichen Wert mitsenden.

    Hallo,

    ich habe ein Formular mit einen DropDown Feld (select) und einem Textfeld. Wenn man den wert aus dem DropDown ändert, wird via onchange="submit()" das formular abgesendet.

    Soweit kein Problem:

    PHP-Code:
    <form method="post" action="index.php">
      <
    select name="id" onchange="submit()">
        <
    option value="7">Test 1</option>
        <
    option value="1">Zweiter Eintrag</option>
        <
    option value="8" selected="selected">Sonst was</option>
        <
    option value="2">Test 2</option>
      </
    select>
      
      <
    input type="text" name="zusatz" value="" />

      <
    input type="submit" />
    </
    form
    Nun wird nach dem Absenden serverseitig überprüft, ob das Feld "zusatz" ausgefüllt wurde. Falls dem nicht so ist, gebe ich eine Fehlermeldung aus.

    Ruft nun ein User das Formular aus, und ändert den Wert in dem DropDown, so wird das Formular ja korrekterweise abgesendet, allerdings wird dann auch das Feld "zusatz" geprüft. Klar: works as designed.



    Wie kann ich nun mit dem onchange ein Flag o.ä. mitsenden, damit mein serverseitiges Script weiß, dass es das Zusatzfeld nicht prüfen soll.

    Geprüft werden soll also nur, wenn der Submit-Button geklickt wurde, oder das Formular über Return abgesendet wird.



    Zur Zeit nutze ich statt dem onchange="submit()" einen Button neben dem DropDown. Dieser hat einen Namen und in dem Serverseitigen Script prüfe ich dann einfach if(isset($_POST['name des button'])). Allerdings würde ich gerne die onChange Variante weil dies im Betrieb einfach schneller geht.

  • #2
    Re: [JavaScript] Formular onChange() absenden und zusätzlichen Wert mitsenden.

    PHP-Code:
    <select onchange="this.form.pruefeZusatz.value="";this.form.submit()">
    ...
    <
    input type="hidden" name="pruefeZusatz" value="ja" /> 
    I don't believe in rebirth. Actually, I never did in my whole lives.

    Kommentar


    • #3
      wenn value="" bei zusatz default ist, dann ist es kaum ein Unterschied ob du

      if (strlen($_POST['zusatz']))

      prüfst oder wie wahsagas Lösung das Hiddenfeld prüfst

      Kommentar


      • #4
        @wahsaga: gefällt mir, gekauft!

        @asp: bei "if (strlen($_POST['zusatz']))" kann ich leider nicht unterscheiden, ob der user nur das dropdown geändert hat und deswegen das Feld "zusatz" leer ist, oder ob er eigentlich korrekt abgesendet hat, nur vergessen hat, das Feld auszufüllen.

        Thx so far!

        Kommentar

        Lädt...
        X