Alexander: onsubmit über Hyperlink auslösen

Beitrag lesen

Einen wunderschönen guten Abend.

Ich grübel schon den ganzen Tag über ein Problem.

Ich muss in einem HTML-Document unbedingt einen doppelten submit verhindern.

Klar, da gibt es auf form-Ebene den Befehl "onSubmit". Doch leider soll bei mir der "submit" selbst über einen "href" (href=document.form.submit();) ausgelöst werden.

Gut, dann habe ich eine kleine javascript funktion geschrieben, die den submit verhindert. Aber wenn ich nun das zweitemal diese funktion aufrufe, während ich schon auf einen antwort vom server warte, dann interpretiert der Browser das wie eine zurückgekommene Seite und auf das Serverergebnis kann ich dann lange warten :-(

Hat jemand eine idee?

ich muss nur irgendwie über einen hyperlink das form, so dass auch der onsubmit mitverarbeitet wir.

Über vorschläge wäre ich dankbar.

vielen dank im voraus

Gruß Marc

Hi,

ich verstehe Dewin Problem nicht ganz:

mit <a href="#" onClick="document.forms['formularname'].submit()">Hier klicken</a> kannst Du das Formular verschicken. Dabie ist es an sich egal, wie oft der User darauf klickt. Er sendet ja nur eine Anfrage an den Server. Was der Server daraus macht ist eine ganz andere Sache. Ich vermute mal, daß Du ein doppeltes Absenden z.B. eines Gästebucheintrags verhindern möchtest. Dies könntest Du auch sreverseitig bewerkstelligen, indem Du z.B. die IP mitloggst und eine IP-Speere von 10 min oder so setzt.

Falls Du das unbedingt mit JS realisieren mußt/willst, kannst Du folgendes machen:

<script>

var gesendet=0;

function senden()
{
 if (gesendet==0)
    {
      gesendet++;
      document.forms['formularname'].submit();
      return false;    # verhindert das "Ausführen" des Link, also den Verweis nach oben
    }
 else
    {
      alert("Formular wurde schon abgeschickt");
      return false;
    }
}
</script>

<a href="#" onClick="senden()">Hier klicken</a>

Viele Grüße...

Alex :)