无法在隐藏的输入元素上设置值

问题描述 投票:2回答:6

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

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

问题在FF和IE中都存在。

有任何想法吗?

码:

<input type="hidden" id="SomeHiddenElement" name="SomeHiddenElement" value="" />

document.getElementById("SomeHiddenElement").value = "Testing";
javascript jquery html dom
6个回答
6
投票

因为我不相信firebug在更新它的DOM表示时有问题,并且你的代码在孤立的情况下运行良好,并且你没有文本输入的问题,而且我自己从未遇到过更新隐藏输入的问题,我会建议其他东西对隐藏的输入采取行动来阻止你正在做的事情。

我建议您创建一个剥离了所有内容的测试页面,除了您在此处提供的内容,然后逐步添加功能以实现真实页面的状态。在某些时候它会破裂,你至少会知道问题所在。


2
投票

伙计们,我很抱歉......问题出在Firebug和我的邮政处理代码的组合......我已修好了...

故事的道德:仔细检查代码,不要盲目相信Firebug。

谢谢你的麻烦!


1
投票

你的代码很好。

<!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>

您是如何测试隐藏字段的值未设置的?由于隐藏字段是不可见的,因此您可以在使用JavaScript或发布表单时查看内部​​的内容。


0
投票

你能试一下吗:

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

这只是一个简单的jQuery解决方案,用测试文本设置属性“value”。

编辑:

好吧,试试这个:

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

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


0
投票

这两个都有效:

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

使用Chrome开发者工具和Firebug进行验证


0
投票

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

© www.soinside.com 2019 - 2024. All rights reserved.