velocity: JavaScript Sumit Problem

Hallo,

ich hab da mal ne Frage und erhoffe mir natürlich auch ne Antwort, mit der ich was anfangen kann :

Also , ich hab n Formular, wo mehrere Buttons drauf sind. Da reicht natürlich nur ein Submit Button nicht aus. Deshalb mache ich das Submit über JavaScript (onclick=doc.submit()).

Jetzt hab ich das Problem, dass der IE 5.0 und der IE 5.5 manchmal das Submit doppelt ausführen, wenn es über Java Script angestoßen wird. Dieser Vorgang führt bei mir zu nem Datenbank Problem. Muß also irgendwie gelöst werden.

Hat einer da vielleicht schon Erfahrungen oder ne Ahnung, wie ich das abstellen kann oder ihn zumindest dazu bewegen kann, das Submit nur einmal auszuführen ?

Es muß auch nicht unbedingt über java Script sein. Ich muß nur die daten aus dem Formular irgendwie im Post mitschicken, weil ich die später wieder abfrage.

Schon mal THX im Vorraus

  1. Hi,

    Also , ich hab n Formular, wo mehrere Buttons drauf sind. Da reicht natürlich nur ein Submit Button nicht aus. Deshalb mache ich das Submit über JavaScript (onclick=doc.submit()).

    warum überlässt Du das nicht den Submit-Buttons? Die können bereits ein Formular abschicken, da brauchen die kein JavaScript für.

    Jetzt hab ich das Problem, dass der IE 5.0 und der IE 5.5 manchmal das Submit doppelt ausführen, wenn es über Java Script angestoßen wird.

    Dann hast Du vermutlich auch doppelt submittet: Über den Submit-Button und _zusätzlich_ über JavaScript.

    Dieser Vorgang führt bei mir zu nem Datenbank Problem.

    Wenn dies möglich ist, musst Du doppelte Requests serverseitig(!) ohnehin abfangen. Da nützt Dir JavaScript oder andere Trickserei nicht die Bohne.

    Cheatah

  2. Hallo.

    Wie Cheatah schon gesagt hat, wird das Formular doppelt abgeschickt, weil der Submit-Button das einmal macht, das onClick-Event u.U. ein weiteres Mal...

    Du kannst aber einfach mehrere Submit-Buttons mit unterschiedlichen Bezeichnungen einfügen.
    <input type="submit" name="a" value="1">
    <input type="submit" name="b" value="2">
    <input type="submit" name="c" value="3">

    Je nachdem, welchen Button du klickst, wird (bei GET als Methode) ?a=1, ?b=2 oder ?c=3 per Get-String übergeben.

    Funktioniert zumindest auf IE 5, NS 4.7 und NS 6.2 (auf allen hab ichs natürlich nicht probiert, sehe aber keinen Grund, warum es nicht gehen sollte...)

    Danach kannst du serverseitig unterscheiden.

    Grüße
    Sascha