我使用了一个hidden控件,
<INPUT  id="hidden1" name="hidden1" type="hidden" runat="server">然后在 javascript中写到
<script language="javascript">
document.all.hidden1.value="fasdf";
</script>
但是运行时脚本总是报错document.all.hidden1为空或者不是对象
这个是怎么回事呀,帮帮忙呀
感激不尽!

解决方案 »

  1.   

    document.getElementById("hidden1").value="fasdf";
      

  2.   

    In javascript, the ID must be HTML ID
    but <INPUT  id="hidden1" name="hidden1" type="hidden" runat="server">
    this id is the asp.net ID, these two ID is not same.
      

  3.   

    document.getElementById("hidden1").value="fasdf";
    使用这个也是一样的呀我是在客户端使用的控件,当然使用id=hidden1
    即使改了一样的也是出错的
      

  4.   

    我在一个最简单的网页里测试没有问题,只是按你写的它没有调用。
    <script language="javascript">
    document.all.hidden1.value="fasdf";
    </script>
    <body>
    <INPUT  id="hidden1" name="hidden1" type='hidden'>
    </body>
    把代码放在函数里它就执行了。
    <script language="javascript">
    function load()
    {
    document.all.hidden1.value="fasdf";
    }
    </script>
    <body onload = "load();">
    <INPUT  id="hidden1" name="hidden1">
    </body>
      

  5.   

    <INPUT  id="hidden1" name="hidden1" type="hidden" runat="server">
    <script language="javascript">
    document.all.hidden1.value="fasdf";
    </script>
    上面这两段javascript脚本和那个隐藏域的前后顺序也有关系。因为生成到客户端的HTML文件是从上往下执行的。如果你想在初始的时候给那个隐藏域赋值。放到onload事件里面。。
    如:<body onload="javascript:document.all.hidden1.value="fasdf";">
    也可以把上面那段脚本放到隐藏域后面。
      

  6.   

    你看看页面显示之后的源文件,
    是不是<INPUT  id="hidden1" name="hidden1" type="hidden" runat="server">
    其中id 是不是还是hidden1  .或者是其他角本出现问题.
      

  7.   

    xzq686(瞬) 
    就是你说的那样的
    谢谢呀
      

  8.   

    我想再问一下
    使用hidden的value保存的值是什么类型呀
    我保存了一个js的array数组
    但是得到的却是一个字符串类型