Antwort schreiben 
 
Themabewertung:
  • 0 Bewertungen - 0 im Durchschnitt
  • 1
  • 2
  • 3
  • 4
  • 5
Formular submit für 10 Sekunden deaktivieren/warten lassen
04-06-2009, 09:41 PM
Beitrag: #1
Formular submit für 10 Sekunden deaktivieren/warten lassen
Hallo,

ich möchte mit einem Klick auf ein Formular, beispielsweise "Download"
die value vom Submit auf "Bitte X Sekunden warten" ändern. Nach Ablauf der Zeit soll das Formular absendbar sein.

Wie mache ich das in Javascript, ich habe schon vieles ausprobiert aber wieder verworfen, und es klappt leider bei mir nicht.

http://easy-geld-im-internet.de/
Webseite des Benutzers besuchenAlle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren Firefox Windows XP/2003
11-05-2008, 03:40 PM
Beitrag: # |
05-06-2009, 07:30 PM (Dieser Beitrag wurde zuletzt bearbeitet: 05-06-2009 08:13 PM von MixCool.)
Beitrag: #2
RE: Formular submit für 10 Sekunden deaktivieren/warten lassen
    JAVASCRIPT Programming
function button_count() {
 var button = document.getElementById("button");
 if(parseInt(button.value) > 1) {
 button.value = parseInt(button.value) - 1;
 window.setTimeout("button_count()", 1000);
 }
 else {
 button.removeAttribute("disabled");
 button.removeAttribute("onclick");
 button.value = "Nun können Sie auf den Button klicken!";
 }
}



MfG MixCool

PS: Funzt auch, habe es getestet Smile
Ein einfacher Downloadcounter würde dann so aussehen:
    JAVASCRIPT Programming
function download() {
 button = document.getElementById("button");
 button.setAttribute("disabled", "disabled");
 button.value = 11;
 button_count();
}
function button_count() {
 if(parseInt(button.value) > 1) {
 button.value = parseInt(button.value) - 1;
 window.setTimeout("button_count()", 1000);
 }
 else {
 button.removeAttribute("disabled");
 button.removeAttribute("onclick");
 button.value = "Nun können Sie auf den Button klicken!";
 }
}



Zum Direkttesten und kalibrieren:
Code:
<script>
function download() {
button = document.getElementById("button");
button.setAttribute("disabled", "disabled");
button.value = 11;
button_count();
}
function button_count() {
if(parseInt(button.value) > 1) {
button.value = parseInt(button.value) - 1;
window.setTimeout("button_count()", 1000);
}
else {
button.removeAttribute("disabled");
button.removeAttribute("onclick");
button.value = "Nun können Sie auf den Button klicken!";
}
}
</script>
<input type="submit" value="Download it!" onClick="download()" id="button" />

MfG MixCool

[Bild: linux_user.png]        ~ Was haben Windows und ein U-Boot gemeinsam?
[Bild: ubuntu-blogger.php?user=25027]        ~ Wenn man ein Fenster öffnet, hat man ein Problem.
Webseite des Benutzers besuchenAlle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren Firefox Linux Ubuntu
05-06-2009, 08:15 PM
Beitrag: #3
RE: Formular submit für 10 Sekunden deaktivieren/warten lassen
Das Formular wird aber nicht abgesendet!

http://easy-geld-im-internet.de/
Webseite des Benutzers besuchenAlle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren Firefox Windows XP/2003
05-06-2009, 08:18 PM
Beitrag: #4
RE: Formular submit für 10 Sekunden deaktivieren/warten lassen
stimmt.
Also, Bugfix:

Code:
<form><input type="button" value="Download it!" onClick="download()" id="button" /></form>
<script>
function download() {
button = document.getElementById("button");
button.setAttribute("disabled", "disabled");
button.value = 11;
button_count();
}
function button_count() {
if(parseInt(button.value) > 1) {
button.value = parseInt(button.value) - 1;
window.setTimeout("button_count()", 1000);
}
else {
button.removeAttribute("onclick");
button.setAttribute("type", "submit");
button.removeAttribute("disabled");
button.value = "Nun können Sie auf den Button klicken!";
}
}
</script>

[Bild: linux_user.png]        ~ Was haben Windows und ein U-Boot gemeinsam?
[Bild: ubuntu-blogger.php?user=25027]        ~ Wenn man ein Fenster öffnet, hat man ein Problem.
Webseite des Benutzers besuchenAlle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren Firefox Linux Ubuntu
06-06-2009, 06:18 PM (Dieser Beitrag wurde zuletzt bearbeitet: 06-06-2009 06:18 PM von Toasterfraktion.)
Beitrag: #5
RE: Formular submit für 10 Sekunden deaktivieren/warten lassen
Ich bin grade am grübeln wie ich da "Noch X Sekunden einbauen kann"

So geht es leider nicht:
    JAVASCRIPT Programming
if(parseInt(button.value) > 1) {
   var time_left = parseInt(button.value) - 1;
   button.value = "Noch "+time_left+" Sekunden!";
   window.setTimeout("button_count()", 1000);
}


und so schon garnicht:
    JAVASCRIPT Programming
if(parseInt(button.value) > 1) {
    button.value = "Noch " + parseInt(button.value) - 1 + " Sekunden!";	
    window.setTimeout("button_count()", 1000);
}


http://easy-geld-im-internet.de/
Webseite des Benutzers besuchenAlle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren Firefox Windows XP/2003
06-06-2009, 06:57 PM
Beitrag: #6
RE: Formular submit für 10 Sekunden deaktivieren/warten lassen
Du kannst nicht in button.value "Noch xx Sekunden!" speichern, und dann diesen String parsen und dann herunter zählen lassen. Leg doch einfach die Variable time_left außerhalb an und zähl diese runter. Dann brauchst du nur noch
    JAVASCRIPT Programming
button.value = "Noch " + time_left.toString() + " Sekunden!";

machen.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren Opera Winows Vista
07-06-2009, 10:34 AM
Beitrag: #7
RE: Formular submit für 10 Sekunden deaktivieren/warten lassen
So habe ich es nun gemacht, klappt wunderbar
Code:
<form>
<input type="text" name="test" />
<input type="hidden" id="hidden" />
<input type="button" value="Download it!" onclick="download()" id="button" />
</form>
<script>
function download() {
    button = document.getElementById("button");
    button.setAttribute("disabled", "disabled");
    hidden = document.getElementById("hidden");
    hidden.value = 4;
    hidden.value = 4+2;
    button_count();
}

function button_count() {
    var time_left = parseInt(hidden.value) -2;
    hidden.value = hidden.value -1;

    if(parseInt(hidden.value) > 1) {

button.value = "Noch " + time_left.toString() + " Sekunden!";
window.setTimeout("button_count()", 1000);
    }
    else {
button.removeAttribute("onclick");
button.setAttribute("type", "submit");
button.removeAttribute("disabled");
button.value = "Nun können Sie auf den Button klicken!";
    }
}
</script>

http://easy-geld-im-internet.de/
Webseite des Benutzers besuchenAlle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren Firefox Windows XP/2003
Antwort schreiben 



KontaktToasterfraktion HomepageNach obenZum InhaltArchiv-ModusRSS-Synchronisation Impressum Partner
Too Cool for Internet Explorer