Brauche hilfe bei submit Button...

QUEST08

Erfahrenes Mitglied
Hi @ll,

ersteinmal möchte ich sagen, dass ich keine Ahnung von JS habe.
Ich habe hier folgenden Code:

Code:
<script>
var time = new Date;

var time = time.getTime();
var to = "document.forms['name'].elements['button']";
var bis = time+5;
var text = "Bitte warten...";
var text2 = "Downloaden";

function activate()
{
noch = bis-time-1;
eval(to+".disabled = true");
if(time < bis)
{
eval(to+'.value = "' + text + ' (" + noch + ")"');
time = time+1;
window.setTimeout("activate()", 1000);
}
else
{
eval(to+".disabled = false");
eval(to+".value = \"" + text2 + "\"");
}
}
</script>

Der Button wird zwar deaktiviert, aber das Formular kann durch z.B. [ENTER] immernoch versendet werden. Habt ihr da eine Lösung für mein Problem?

Liebe Grüße!
 
Moin,

du kannst das Senden eines Formulares generell unterbinden, indem du seinem onsubmit-Event die Anweisung "return false" zuweist.

Das Formular lässt sich dann nur noch durch Aufruf seiner Methode submit() senden
 
hi sven,

vielen dank für das schnelle feedback. leider verstehe ich nicht was du meinst. wo müsste welcher code hin? lg
 
Senden verhindern:
Code:
eval(to+".form.onsubmit=function(){return false;}");
Senden erlauben:
Code:
eval(to+".form.onsubmit=function(){return true;}");
 
Hallo Sven,

vielen Dank für deine Hilfe. Es klappt nun alles. Hier nochmals
das vollständige Script:

Code:
<script>
var time = new Date;

var time = time.getTime();
var to = "document.forms['name'].elements['button']";
var bis = time+5;
var text = "Bitte warten...";
var text2 = "Downloaden";

function activate()
{
noch = bis-time-1;
eval(to+".disabled = true");
if(time < bis)
{
eval(to+'.value = "' + text + ' (" + noch + ")"');
time = time+1;
eval(to+".form.onsubmit=function(){return false;}");
window.setTimeout("activate()", 1000);

}
else
{
eval(to+".disabled = false");
eval(to+".value = \"" + text2 + "\"");
eval(to+".form.onsubmit=function(){return true;}");
}
}
</script>

Liebe Grüße,
QUEST08
 
Zurück