我在C#web Aplication中使用Javascript StopWatch。但是我没有从javascript获得输出。以下是我的代码。
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<script type="text/javascript" language="JavaScript">
var state = 0;
function startstop() {
if (state == 0) {
state = 1;
then = new Date();
then.setTime(then.getTime() - ms);
} else {
state = 0;
now = new Date();
ms = now.getTime() - then.getTime();
document.stpw.time.value = ms;
}
}
function swreset() {
state = 0;
ms = 0;
document.stpw.time.value = ms;
}
function display() {
setTimeout("display();", 50);
if (state == 1) {now = new Date();
ms = now.getTime() - then.getTime();
document.stpw.time.value = ms;
}
}
</script>
</head>
<body onload="display()">
<form id="form1" runat="server">
<div>
Time:
<input type="text" name="time"/>
<input type="button" name="ssbutton" value="Start/Stop" onclick="javascript:startstop()"/>
<input type="button" name="reset" value="Reset" onclick="javascript:swreset()"/>
</div>
</form>
</body>
</html>
我是javascript的新手,我在哪里做错了?谢谢......
Udate :最后我得到错误并解决了。以下是希望在C#Application中实现JavaScript秒表的人的更新解决方案。
<html>
<head>
<script type="text/javascript">
var ms = 0;
var state = 0;
var then;
var now;
ms = new Date();
function startstop()
{
if (state == 0)
{
state = 1;
then = new Date();
then.setTime(then.getTime() - ms);
}
else
{
state = 0;
now = new Date();
ms = now.getTime() - then.getTime();
document.getElementById('timeInput').value = ms;
}
}
function swreset() {
state = 0;
ms = 0;
document.getElementById('timeInput').value = ms;
}
function display() {
ms = new Date();
setTimeout("display();", 50);
if (state == 1) {
now = new Date();
ms = now.getTime()-then.getTime();
document.getElementById('timeInput').value = ms;
}
}
</script>
</head>
<body onload="display()">
<form>
Time:
<input type="text" name="time" id="timeInput"/>
<input type="button" name="ssbutton" value="Start/Stop" onclick="javascript:startstop()"/>
<input type="button" name="reset" value="Reset" onclick="javascript:swreset()"/>
</form>
</body>
</html>
感谢您的帮助。
答案 0 :(得分:1)
嗯,这一行有一个问题:
<inputtype="button"name="ssbutton"value="Start/Stop" onclick="javascript:startstop()"/>
我认为你需要一些额外的空间。
你也多次引用document.stpw.time
,但我的html中没有看到stpw。
答案 1 :(得分:1)
以下是一些初步步骤:(这并不意味着一切都会奏效,但肯定会有所帮助。)
<input type="text" name="time" id="timeInput"/>
document.getElementById("timeInput").value = ...
alert(...)
个语句,以查看其进展情况以及它出现的值。答案 2 :(得分:1)
onclick=...
,onload=...
不好。 javascript:
没用。 language=JavaScript
没用了runat=server
没用。 var ms = ...
document.stpw
不存在。document.stpw
命名,document.<formName>
表示不好。请改用document.forms.stpw
。setTimeout(string)
不好。if (...) {now = new Date();
}