JavaScript Button auf Zeit deaktivieren

rocket81

Lt. Commander
Registriert
Dez. 2007
Beiträge
1.054
Hallo,
ich biete auf meiner Seite ein paar Downloads an und möchte, dass der Downloadbutton erst x Sekunden nach aufrufen der Downloaddetails Seite aktiv wird.

PHP:
<a href="index.php?downloads-down-'.$row['id'].'"><input type="submit" value="Download"></a>

So sieht mein Downloadlink bisher aus...
Ich habe jetzt Probleme den Submitbutton per Javascript adressieren, da sich der Button nicht in einem Formular befindet.

Als Scriptvorlage habe ich folgende Zeilen:

Code:
<script language="javascript">
<!--
var secs = {waittime};
var wait = secs * 1000;
document.sform.submitbtn.disabled=true;
	
for(i=1;i<=secs;i++) {
 window.setTimeout("update(" + i + ")", i * 1000);
}

window.setTimeout("timer()", wait);

function update(num) {
 if(num == (wait/1000)) {
  document.sform.submitbtn.value = "  Download";
 }
 else {
  printnr = (wait/1000)-num;
  document.sform.submitbtn.value = "  Download (" + printnr + ")";
 }
}

function timer() {
 document.sform.submitbtn.disabled=false;
}
//-->
</script>

Dass das so nicht funktionieren kann ist klar, wurde noch nicht richtig angepasst, allerdings bin ich bisher mit all meinen Versuchen gescheitert.
Für etwas Hilfe wäre ich dankbar.
Gruß
 
okay, hat da jmd. tipps für mich...habe mich noch nie damit beschäftigt...also nicht wirklich ;)
 
Hallo,

falls du selbst in Javascript programmieren möchtest, könntest du auch folgenden Code verwenden. Auch hierbei ist anzumerken, dass die Seite nur ordnungsgemäß funktionieren wird wenn deine Benutzer auch JavaScript aktiviert haben. Nur wegen Stichwort Barrierefreiheit etc... ;)

Beim Aufruf der Seite wird mit "onload" die Funktion "prepareDownloads" mit der Wartezeit in Sekunden aufgerufen. Dort werden deine Downloadbuttons (nach id) der Funktion "update" übergeben, die sich so lange selbst aufruft, bis die Zeit abgelaufen ist und dann den Button aktiviert (disabled=""). Der Link zum Download befindet sich beim entsprechenden Button im "onclick"-Event als PHP-Code.


Code:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
       "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<script language="javascript">
<!--
	function prepareDownloads(sec)
	{
		update(sec, 'button1');
	}


	function update(sec, objectId)
	{
		if (sec>0)
		{
			document.getElementById(objectId).innerHTML="Download beginnt in "+sec+" Sekunden...";
			sec--;
			window.setTimeout(function(){update(sec, objectId);}, 1000);
		} else {
			document.getElementById(objectId).disabled="";
			document.getElementById(objectId).innerHTML="Download starten";
		}
	}

//-->
</script>
</head>
<body onload="prepareDownloads(10);">

<form>
	<button name="download" id="button1" disabled="disabled" onclick="window.open('<?php echo "index.php?downloads-down-".$row['id'];?>');return false;" value="Download">Download</button>
</form>
</body>
</html>
 

Ähnliche Themen

Zurück
Oben