Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/371.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 Can';t在隐藏的输入元素上设置值_Javascript_Jquery_Html_Dom - Fatal编程技术网

Javascript Can';t在隐藏的输入元素上设置值

Javascript Can';t在隐藏的输入元素上设置值,javascript,jquery,html,dom,Javascript,Jquery,Html,Dom,我在设置隐藏输入元素的值时遇到问题。我尝试过使用jQuery和$(“#SomeHiddenElement”).val(sSomeValue)函数,以及普通的JSdocument.getElementById(“SomeHiddenElement”).value=sSomeValue但没有任何效果 当我将元素设置为文本类型时,它工作得很好 这个问题在FF和IE中都存在 有什么想法吗 代码: document.getElementById(“SomeHiddenElement”).value=“测

我在设置隐藏输入元素的值时遇到问题。我尝试过使用jQuery和
$(“#SomeHiddenElement”).val(sSomeValue)
函数,以及普通的JS
document.getElementById(“SomeHiddenElement”).value=sSomeValue但没有任何效果

当我将元素设置为文本类型时,它工作得很好

这个问题在FF和IE中都存在

有什么想法吗

代码:


document.getElementById(“SomeHiddenElement”).value=“测试”;
您的代码很好

<!DOCTYPE html>
<html>
<head> 
   <meta http-equiv="content-type" content="text/html; charset=UTF-8"/> 
   <title>Setting the value of a hidden field</title> 
</head> 
<body> 
  <input type="hidden" id="SomeHiddenElement" value="">
  <script>
    document.getElementById('SomeHiddenElement').value = 'Hello World';
  </script>

  <script>
    // Will alert 'Hello World'
    alert(document.getElementById('SomeHiddenElement').value);
  </script>
</body> 
</html>

设置隐藏字段的值
document.getElementById('SomeHiddenElement')。值='Hello World';
//将提醒“你好,世界”
警报(document.getElementById('SomeHiddenElement').value);
如何测试未设置隐藏字段的值?由于隐藏字段是不可见的,因此使用JavaScript或发布表单时,您可以看到其中的内容。

您可以尝试:

$('#SomeHiddenElement').attr("value", "some text");
这只是一个用测试文本设置属性“value”的简单jQuery解决方案

编辑:

那么,试试这个:

alert($("input[type='hidden']").length);

这是为了查看您的页面上有多少隐藏的输入元素。

因为我认为firebug在更新其DOM表示时没有问题,您的代码在隔离状态下运行良好,您在文本输入方面没有问题,而且我自己在更新隐藏的输入时从来没有遇到过问题,我想说的是,其他一些东西正在对隐藏的输入进行操作,以阻止您所做的事情


我建议您创建一个测试页面,除去您在这里给我们的内容之外的所有内容,然后逐步添加功能,以达到真正页面的状态。总有一天它会破裂,你至少会知道问题出在哪里。

伙计们,我很抱歉。。。问题是Firebug和我的post处理代码结合在一起。。。我已经修好了

故事的寓意:仔细检查代码,不要盲目相信Firebug

谢谢你的麻烦

这两种方法都有效:

$('#SomeHiddenElement').attr("value", "some text");
$('#SomeHiddenElement').val("some text");

使用Chrome Developer ToolsFirebug

进行验证我知道这已经很长时间了,但我也遇到了同样的问题,我花了一些时间才发现页面上有多个元素(确切地说)具有相同的id=“”,而且我的JS功能似乎不起作用(我猜这只是修改了第一个元素的值)。无论如何,这可能会帮助某人节省一些时间进行调查:)

我正在用Firebug监控该值。这里有一个简单的例子,你是否将它放在
就绪处理程序中了?@Reigel-他说如果它变成文本输入,它就会工作,所以有人会认为是的,我对HTML/JS/jQeury并不陌生。我知道所有的方法,但是这个方法在这种情况下不起作用,我也不知道为什么。。。我还以为其他人也有同样的问题要在这里发布解决方案…@Stazh:如果这对你有用,你能告诉我们和未来的读者问题出在哪里吗?
$('#SomeHiddenElement').attr("value", "some text");
$('#SomeHiddenElement').val("some text");