mab: mehrfache formular-submits vermeiden!

hi,

weiss jemand eine sichere und stabile methode mehrfache submits (wenn jemand auf enter liegenbleibt oder mit der maus rumclickt) eines forms zu vermeiden?! bestenfalls eine meldung anzeigen "schon abgesandt, warte auf das ergebnis"?

wäre super!
mab

  1. Hallo  Matthias

    Head:
    <SCRIPT LANGUAGE="JavaScript">
    <!-- Begin
    function submitForm(s) {
    s.value = "Vielen Dank!";
    return true;
    }
    // End -->
    </script>

    Body:
    <form name=myform onSubmit="return submitForm(this.submitbutton)">
    Eingabefeld: <input type=text name=eingabe size=20>
    <input type=submit name=submitbutton value="Absenden     ">
    </form>

    Quelle:
    http://www.drweb.de/trickkiste/tricks146.shtml

    Grüsse aus der Schweiz
    Joschua

    1. Hallo,

      vielen Dank, keine schlechte Idee, allerdings wird technisch ja nichts verhindert. Zudem habe ich nicht bei allen Forms einen echten submitbutton, stellenweise müsste ich also auch Images tauschen etc...

      Wie könnte man das 2. Absenden tatsächlich technisch unterdrücken?!

      Gruss
      mab

      1. hi,

        irgenwie einen flag setzen, und mit einer Zeitsperre verbinden:

        sendEnabled = true;
        function checkSend()
        {
         if(sendEnabled)
         {
          sendEnabled = false;
          setTimeout('sendEnabled = true', 10000);
          return true;
         }
                return false;
        }

        <form onsubmit="return checkSend()")>

        Gruesse  Joachim

        1. hi,

          <form onsubmit="return checkSend()")>

          oops! Besser:
          <form onsubmit="return checkSend()">

          Gruss  Joachim

      2. Hallo,

        Hallo,

        vielen Dank, keine schlechte Idee, allerdings wird technisch ja nichts verhindert. Zudem habe ich nicht bei allen Forms einen echten submitbutton, stellenweise müsste ich also auch Images tauschen etc...

        Wie könnte man das 2. Absenden tatsächlich technisch unterdrücken?!

        Mit Javascript gar nicht. Denn Javascript hat nicht jeder Browser und in den meisten (allen?), die Javascript haben, kann es abgeschaltet werden.

        Gruss
        mab

        Andreas

  2. Hallo, mab,

    weiss jemand eine sichere und stabile methode mehrfache submits (wenn jemand auf enter liegenbleibt oder mit der maus rumclickt) eines forms zu vermeiden?! bestenfalls eine meldung anzeigen "schon abgesandt, warte auf das ergebnis"?

    So ungefähr sollte es gehen ...

    Grüße, Sebastian

    function clickCounter()
    {
    counter=0;counter++;

    if(counter>1){
    alert("Das Formular wurde bereits abgesendet.");
    return false;
    }

    else {
    return true; // send mail
    }

    }

    <form method="post" action="mail.php" name="mailform" onSubmit="return clickCounter();">