你的隐藏的表单域的值会改变吗?一般都是通过脚本(js或vbs)来改变吧,在改变的时候怎么不在js或vbs的后面加上要执行的事件呢?

解决方案 »

  1.   

    看看吧!
    <html><head>
    <meta http-equiv="Content-Type" content="text/html; charset=gb2312">
    <title>测试页</title>
    </head><body>
    <form name=form1>
     <input name="t1" onpropertychange="check()">
     <input name="t2" type=hidden  >
     <input value="确定" type=button onclick="cc()">
    </form>
    <script language="javascript">
    <!--
    function cc()
    {
     form1.t2.value="dd"}
    function check()
    {
    alert('ok')
    }
    //-->
    </script></body></html>
    ************************************************************************************<html><head>
    <meta http-equiv="Content-Type" content="text/html; charset=gb2312">
    <title>测试页</title>
    </head><body>
    <form name=form1>
     <input name="t1" onpropertychange="check()">
     <input name="t2" type=hidden  onpropertychange="check()">
     <input value="确定" type=button onclick="cc()">
    </form>
    <script language="javascript">
    <!--
    function cc()
    {
     form1.t2.value="dd"
     check();           //为什么不在这里执行check()而要在t2中的改变值时执行?
    }
    function check()
    {
    alert('ok')
    }
    //-->
    </script></body></html>
      

  2.   

    如果是你需要onpropertychange就是值改变时执行的事件!
      

  3.   

    不好意思,我忘了说明了,改变我hidden值的代码是别人写的代码,不允许我去改动,我只是负责调用,下面是详细的说明:
    我调用的是一个选择人员和部门的树,返回两个值分别是id号和该人所在部门+岗位+人名的字符串,而我这里只能选择人,因此要对返回来的id号进行判断,如果不对则提示,对的话就将字符串拆分成部门名、岗位名、人名分别显示。因此我用了两个hidden来保存id和字符串,可是什么时候进行id的判断了(选择人员和部门的树是非模式窗口)因此原来我考虑了用onchange。
      

  4.   

    http://msdn.microsoft.com/workshop/author/dhtml/reference/objects/input_hidden.asp?frame=true
    msdn上都写明了hidden没有onchange事件的
      

  5.   

    既然一定要用onchange
    为什么不用style="display:none"方式隐藏表单而非要用hidden不可呢?
      

  6.   

    不是说了!不可以用onchange用onpropertychange呀!
    <form name=form1>
     <input name="t1" type=hidden  onpropertychange="check(this.value)">
     
    </form>
    <script language="javascript">
    <!--
    function check(id)
    {
     if(/^\D*$/.test(id))
     { 
      alert("传的值只能是数字["+id+"]不是数字");
     }
    }
    form1.t1.value="1";
    form1.t1.value="A";
    //-->
    </script>
      

  7.   

    onpropertychange我试了还是不行呀
      

  8.   

    onpropertychange可以了,是我一个地方写错了,谢谢天神