Formular verschicken
ebi
- html
0 Marc Reichelt0 Mike0 Der Martin0 ebi0 Marc Reichelt0 Mike
1 Marc Reichelt0 Mike
Hallo,
wie kann ich verhindern, daß bei langsamen Rechnern ein Formular mit Submit zigmal gesendet wird?
Danke EBI
Hallo ebi,
wie kann ich verhindern, daß bei langsamen Rechnern ein Formular mit Submit zigmal gesendet wird?
Was verstehst du unter "zigmal gesendet wird"?
Bei mir werden Formulare stets nur ein einziges Mal abgeschickt, selbst bei langsamen Rechnern (du meinst wahrscheinlich langsame Verbindungen).
Grüße
Marc Reichelt || http://www.marcreichelt.de/
Moin,
wie kann ich verhindern, daß bei langsamen Rechnern ein Formular mit Submit zigmal gesendet wird?
Was verstehst du unter "zigmal gesendet wird"?
Bei mir werden Formulare stets nur ein einziges Mal abgeschickt, selbst bei langsamen Rechnern (du meinst wahrscheinlich langsame Verbindungen).
bestimmt meint er, dass, wenn sich ob der langsamen Verbindung nichts tut, der nervoese User unserer schnelllebigen Zeit, hektisch 150 Mal den Button klickt, um den Process zu beschleunigen.
Dem kann per
<input name='BLUB' type='submit' value='KLICK MICH' onclick="javascript: document.FORMularname.BLUB.disabled = true;">
der Riegel vorgeschoben werden. Wenn JavaScript funktioniert. Das ist ja klar.
Schoenen Gruss,
Mike
Hallo Mike,
bestimmt meint er, dass, wenn sich ob der langsamen Verbindung nichts tut, der nervoese User unserer schnelllebigen Zeit, hektisch 150 Mal den Button klickt, um den Process zu beschleunigen.
aaah, das wäre eine Möglichkeit.
Ja, das erinnert mich an meinen Kollegen, der -während z.B. Word noch beschäftigt ist- hektisch etliche Male auf die PageDown-Taste haut und sich dann ein paar Sekunden später aufregt, dass er im Dokument acht Seiten weiter ist als er eigentlich wollte. :-)
<input name='BLUB' type='submit' value='KLICK MICH' onclick="javascript: document.FORMularname.BLUB.disabled = true;">
Wozu das Label im Eventhandler? Hast du vor, diese Stelle jemals irgendwann mit einem goto anzuspringen?
Wenn JavaScript funktioniert. Das ist ja klar.
Logisch.
Andernfalls (bzw. zusätzlich) muss man sowas serverseitig abfangen. Beispielsweise, indem man beim Ausliefern des Formulars einen zufällig generierten Wert in einem hidden-Feld mitliefert und den beim Empfang des ausgefüllten Formulars wieder überprüft. Wenn das Formular mehrmals mit derselben Kennung ankommt, ist was faul.
Schönen Tag noch,
Martin
Danke! Danke! Danke!
Mit zigmal meine ich 10-mal.
Das das Javascript nur funktioniert wenn Javasript aktiviert ist weis ich.
Gibt es keine andere Möglichkeit?
Gruss EBI
Hallo ebi,
Danke! Danke! Danke!
Mit zigmal meine ich 10-mal.
Das das Javascript nur funktioniert wenn Javasript aktiviert ist weis ich.
Gibt es keine andere Möglichkeit?
Nein.
Grüße
Marc Reichelt || http://www.marcreichelt.de/
Moin,
Danke! Danke! Danke!
einmal reicht doch.
Mit zigmal meine ich 10-mal.
Das das Javascript nur funktioniert wenn Javasript aktiviert ist weis ich.
Gibt es keine andere Möglichkeit?
Nur im PHP-Script, da würde ich einfach den jeweils letzten übertragenen Datensatz in einem .txt-File speichern, eben dieses File bei jedem Aufruf des Versende-Scripts auslesen und nur weiter verfahren, wenn die neu zu sendenden Daten nicht den dort gespeicherten entsprechen.
Oder auch - heikle Sache, allerdings - einen freundlichen Kommentar a la "bitte nur einmal klicken" platzieren. Würde ich zumindest der von mir vorgeschlagenen JS-Variante vorziehen, die hat sowas... strenges.
Schönen Gruß,
Mike
Hallo Mike,
bestimmt meint er, dass, wenn sich ob der langsamen Verbindung nichts tut, der nervoese User unserer schnelllebigen Zeit, hektisch 150 Mal den Button klickt, um den Process zu beschleunigen.
Das habe ich mir auch schon gedacht, allerdings wollte ich auf Nummer sicher gehen.
Dem kann per
<input name='BLUB' type='submit' value='KLICK MICH' onclick="javascript: document.FORMularname.BLUB.disabled = true;">
der Riegel vorgeschoben werden. Wenn JavaScript funktioniert. Das ist ja klar.
Nun nun, warum so schwer? Das geht auch einfacher (und fehlerfreier, da du im onclick-Attribut nochmals das Wörtchen "javascript:" benutzt hast):
<input name="btt_submit" type="submit" value="klick mich" onclick="this.disabled = true;">
Siehe hier:
http://de.selfhtml.org/javascript/objekte/elements.htm#disabled
Grüße
Marc Reichelt || http://www.marcreichelt.de/
Moin Marc (& Martin),
Nun nun, warum so schwer?
weil ich's mir leicht gemacht hab!
Das geht auch einfacher (und fehlerfreier, da du im onclick-Attribut nochmals das Wörtchen "javascript:" benutzt hast):
Die andern sind schuld! :-D Ich wusste eigentlich auch nicht, wie das geht, kenn da aber ne Site, die sowas verwendet und hab's flugs rauskopiert.
<input name="btt_submit" type="submit" value="klick mich" onclick="this.disabled = true;">
Siehe hier:
http://de.selfhtml.org/javascript/objekte/elements.htm#disabled
Mach ich glatt mal, danke und
schönen Gruß,
Mike