<script type="text/javascript">
var counter = 1;
function onLoadFunction()
{
window.setTimeout('ClockLink()',1);
}

function ClockLink()
{
counter++;
document.formSensorValue.sensorValue1.value = counter;
document.formSensorValue.sensorValue2.value = <%=dbProvider1.getsSensorValueTemp1Tong1()%>;
window.setTimeout('ClockLink()',1000);
} </script>
  </head>
  
  <body bgcolor="#fef4d2" onload="onLoadFunction()">
    
    <form action="" name="formSensorValue">
     <input name="sensorValue1" type="text" value=""><br/>
     <input name="sensorValue2" type="text" value=""><br/>
    </form>
  </body>这段代码很简单,一个form里面两个text控件,然后我想定时从一个java类里面读取变量,更新到两个text框里面去。代码如上所述时,value1里面的值确实在随着counter的自加  在不断改变。
value2里面的值是从dbProvider1里面读出来的,并且我可以确保getsSensorValueTemp1Tong1()返回的值是不断改变的。但为什么value2的值好你只读了一次之后就不变了呢?谢谢。

解决方案 »

  1.   

    window.setTimeout('ClockLink()',1);

    改成
    window.setTimeout('ClockLink',1);
      

  2.   

    document.formSensorValue.sensorValue2.value = <%=dbProvider1.getsSensorValueTemp1Tong1()%>;这个值要每次从后台里面重新调,
    也就是说, 不能直接写 <%=dbProvider1.getsSensorValueTemp1Tong1()%>;
    用 ajax 取值吧,
      

  3.   

    你并没有刷新页面,只有刚进入页面时经过了后台,
    每隔一秒调用ClockLink()方法时,并没有与后台进行交互,
    dbProvider1.getsSensorValueTemp1Tong1()的值没有改变
      

  4.   

    document.formSensorValue.sensorValue2.value = <%=dbProvider1.getsSensorValueTemp1Tong1()%>;
    这代码在页面加载后就变成
    document.formSensorValue.sensorValue2.value = 具体值;
    了,
    每回重复调用都是执行这行。当然不会变。