Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/406.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用JavaScript修改标记值_Javascript_Jquery - Fatal编程技术网

使用JavaScript修改标记值

使用JavaScript修改标记值,javascript,jquery,Javascript,Jquery,我在网页上有这个标签 <input type="hidden" name="ctl00_ed3327f9_e1db_40db_9d66_15946cead7ae_STATEFIELD" id="ctl00_0g_ed3327f9_e1db_40db_9d66_15946cead7ae__STATEFIELD" value="0" /> 但它返回null。我想这是因为对于.NET3.5及更早版本,它是一个隐藏字段 document.getElementById('<%= con

我在网页上有这个标签

<input type="hidden" name="ctl00_ed3327f9_e1db_40db_9d66_15946cead7ae_STATEFIELD" id="ctl00_0g_ed3327f9_e1db_40db_9d66_15946cead7ae__STATEFIELD" value="0" />

但它返回
null
。我想这是因为对于.NET3.5及更早版本,它是一个隐藏字段

document.getElementById('<%= controlName.ClientID %>');
document.getElementById(“”);
对于.NET 4.0,将控件上的
clientdmode
设置为
Static
您已经添加了标记,因此我认为您正在使用它。这将是您的解决方案:

$("#ctl00_0g_ed3327f9_e1db_40db_9d66_15946cead7ae__STATEFIELD").val("1");

如果
getElementById
返回
null
,可能是因为您在创建元素之前运行了脚本

将脚本移动到页面底部,就在关闭标记内:

<body>

    <!-- page content -->

    <script type="text/javascript">
        document.getElementById("ctl00_0g_ed3327f9_e1db_40db_9d66_15946cead7ae__STATEFIELD").value = 1; 
    </script>
</body>

我刚刚测试了你的代码,它运行正常。隐藏不应该有什么区别。我猜问题可能是您试图在元素加载到页面之前运行getElementById?

getElementById
不需要
。。。。嗯,就是这样。。那么,如何克服它呢?帕特里克·杜德的建议就在这里。要么您需要将脚本移动到包含元素的页面部分下方,要么您需要将JS包装到onload中,以便在页面加载之前不会运行。noops。。。。使用此选项,当对象为null/错误为object reference为null@伞:无限循环?选择器是否找到了元素?如果有循环,那是另一个问题。不,我的代码中没有循环。;;&选择器没有找到任何东西;;我只想切换值。没有其他内容(没有其他代码)**1还有一件事我想告诉你//这是一个sharepoint 2010 Web部件页。@伞:很奇怪,它返回空值。这表明它应该起作用。
<body>

    <!-- page content -->

    <script type="text/javascript">
        document.getElementById("ctl00_0g_ed3327f9_e1db_40db_9d66_15946cead7ae__STATEFIELD").value = 1; 
    </script>
</body>
<script type="text/javascript">
    window.onload = function() {
        document.getElementById("ctl00_0g_ed3327f9_e1db_40db_9d66_15946cead7ae__STATEFIELD").value = 1; 
    };
</script>