mehrfache formular-submits vermeiden!
mab
- javascript
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
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
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
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
hi,
<form onsubmit="return checkSend()")>
oops! Besser:
<form onsubmit="return checkSend()">
Gruss Joachim
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
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();">