那为什么我页面中的remain_time的Text框中的数字总是没有变化呢?
我aspx页面的代码如下:(是还缺什么?)<SCRIPT language="javascript">
function time_step()
{
with(document.formsubmit.remain_time)
    {
if (document.formsubmit.refer_flag.value!="Y")
value=(value!=0)?value-1:0;
    }
window.setTimeout("time_step()",1000*60);
}
time_step();
</SCRIPT>
</HEAD>
<body MS_POSITIONING="GridLayout">
<form id="WebForm1" method="post" runat="server">
<INPUT type="hidden" name="timeout_flag" ID="Hidden1">
 <INPUT type="hidden" name="refer_flag" ID="Hidden2">
<input readOnly size="3" value="60" name="remain_time" ID="Text1">
</form>
</body>
</HTML>

解决方案 »

  1.   

    把  formsubmit 改成  WebForm1
    Form名字不一样的
      

  2.   

    关键是这个java脚本好像根本就不能触发执行,而且执行完以后页面上remain_time的值又是如何更新的呢?<SCRIPT language="javascript">
    function time_step()
    {
    with(document.formsubmit.remain_time)
        {
    if (document.formsubmit.refer_flag.value!="Y")
    value=(value!=0)?value-1:0;
        }
    window.setTimeout("time_step()",1000*60);
    }
    time_step();
    </SCRIPT>
    </HEAD>
    <body MS_POSITIONING="GridLayout">
    <form id="formsubmit" method="post" runat="server">
    <INPUT type="hidden" name="timeout_flag" ID="Hidden1">
     <INPUT type="hidden" name="refer_flag" ID="Hidden2">
    <input readOnly size="3" value="60" name="remain_time" ID="Text1">
    </form>
    </body>
    </HTML>
      

  3.   

    <body MS_POSITIONING="GridLayout">改为:
    <body MS_POSITIONING="GridLayout" onload="time_step()">
      

  4.   

    你要显示调用time_step(),他才能被触发。
      

  5.   

    将脚本放在后面<HTML>
    <HEAD>
    </HEAD>
    <body MS_POSITIONING="GridLayout">
    <form id="formsubmit" method="post" runat="server">
    <INPUT type="hidden" name="timeout_flag" ID="Hidden1">
     <INPUT type="hidden" name="refer_flag" ID="Hidden2">
    <INPUT readOnly size="3" value="60" name="remain_time" ID="remain_time">
    </form>
    <SCRIPT language="javascript">
    function time_step()
    {
    with(document.formsubmit.remain_time)
        {
    if (document.formsubmit.refer_flag.value!="Y")
    value=(value!=0)?value-1:0;
        }
    window.setTimeout("time_step()",1000);
    }
    time_step();
    </SCRIPT>
    </body>
    </HTML>
      

  6.   

    已经ok了^_^马上结贴,呵呵还有100分:http://expert.csdn.net/Expert/topic/1489/1489905.xml?temp=.7739527
    我想定时不刷新页面实现页面更新,把后台xml文件的当前内容显示出来(也就是想实现一个简单聊天室的功能,聊天的内容保存到xml文件中)
    下面的函数已经可以实现不刷新页面的页面更新,但是如何显示后台xml文件的内容呢?<SCRIPT language="javascript">
    function time_step()
    {
    with(document.formsubmit.remain_time)
        {
    if (document.formsubmit.refer_flag.value!="Y")
    value=(value!=0)?value-1:0;
                               //我想在这里添加读取xml文件的内容并显示出来
        }
    window.setTimeout("time_step()",1000*60);
    }
    time_step();</SCRIPT>
      

  7.   

    dub(dub) 说得对要<body MS_POSITIONING="GridLayout">改为:
    <body MS_POSITIONING="GridLayout" onload="time_step()">才可以触发页面定时无刷新地更新
      

  8.   

    to gangganghao(ganggang) :
    我试过了
    放到后面也可以运行^_^但是为什么放在前面就运行不了呢?
    如果说单是放到前面(HEAD里面),页面是不会触发执行的;
    在body里面加onload="time_step()",就触发脚本先于控件发到客户端而执行;
    单放到body末尾,页面会自动执行那是不是说,只要放到body里面,页面就会自动执行,并自循环了?
      

  9.   

    <SCRIPT language="javascript">
    function time_step()
    {
    with(document.formsubmit.remain_time)
        {
    if (document.formsubmit.refer_flag.value!="Y")
    value=(value!=0)?value-1:0;
                               //我想在这里添加读取xml文件的内容并显示出来
        }
    window.setTimeout("time_step()",1000*60);///这一句便是设置定时器,每隔1000*60时间调用time_step()一次
    }
    time_step();////////////////////这一句便是第一次调用了执行上面的window.setTimeout()</SCRIPT>