Jag har en aspx-sida där jag vill ändra bakgrundsfärg och samtidigt ha en digital klocka. Jag har då gjort följande testsida: Klock är javascript, körs på klienten. Således finns ingen funktion klock på servern, och servern kastar ett fel. Anropa klock i t.ex body onload Här gör en funktion koden tydligare.Digital klocka
<html>
<head>
<script language="JavaScript" type="text/javascript">
<!--
function klock()
{ dat=new Date();
timmar=dat.getHours();
minuter=dat.getMinutes();
sekunder=dat.getSeconds();
timmar="0"+timmar
minuter="0"+minuter
sekunder="0"+sekunder
timmar=timmar.substring(timmar.length-2,timmar.length)
minuter=minuter.substring(minuter.length-2,minuter.length)
sekunder=sekunder.substring(sekunder.length-2,sekunder.length)
visar=timmar+":"+minuter+":"+sekunder
document.klocka.present.value=visar
setTimeout("klock()",1000)
}
//-->
</script>
</head>
<body id="bakgrund" runat="server">
<form runat="server">
<asp:Label id="klockan" onload="klock()" runat="server"></asp:Label>
</form>
</body>
</html>
Sub Page_Load(Source as Object, E as EventArgs)
bakgrund.Style.Add("background-color", "yellow")
End Sub
Jag får följande felmeddelande:
BC30456: klock är inte en medlem av ASP.test_klocka_aspx
Är det någon sm kan hjälpa mig att lösa detta?Sv: Digital klocka
Sv: Digital klocka
Så om du inte får betalt per antal rader kod, så kan du skriva:
<script language="JavaScript" type="text/javascript">
<!--
function klock()
{
dat = new Date();
visar = pad2(dat.getHours()) + ":" + pad2(dat.getSeconds()) + ":" + pad2(dat.getSeconds());
document.klocka.present.value = visar
setTimeout("klock()", 1000)
}
function pad2(number) {
return (number < 10 ? '0' : '') + number
}
//-->
</script>
Men en funtion är det oxå lättare att ändra vilken sätt du paddar dina siffror med noll.
;-)