我有一个JavaScript函数,我传递了一个参数。该参数表示我的网页中的一个元素(隐藏字段)的id。我想更改此元素的值。
function myFunc(variable) {
var s = document.getElementById(variable);
s.value = 'New value'
}
当我这样做时,我得到一个错误,因为对象为null,所以无法设置值。但我知道对象不是null,因为我在浏览器生成的HTML代码中看到了它。
无论如何,我尝试了下面的代码来调试
function myFunc(variable) {
var x = variable;
var y = 'This-is-the-real-id'
alert(x + ', ' + y)
var s = document.getElementById(x);
s.value = 'New value'
}
当警报消息出现时,两个参数都是一样的,但是我还是得到了错误。但是当我这样做的时候一切都正常
var s = document.getElementById('This-is-the-real-id');
s.value = 'New value'
我该怎么补救呢?
我设置值的元素是一个隐藏字段,id是动态设置的,当页面加载时。我尝试在 $(document).ready 函数中添加它,但它不起作用。
7条答案
按热度按时间chhqkbe11#
如果在文本区域渲染到页面之前执行 myFunc(variable),则会得到null异常错误。
因此,请确保您的文本区域确实存在于页面上,然后调用 myFunc。您可以使用 window.onload 或 $(document).ready 函数。
tcbh2hod2#
给定
那么
会做你想做的事
给定
那么
我会做你想做的事
eqfvzcg83#
没有回答提出除了
.value()
之外还可以使用.setAttribute()
的可能性:这个附录实际上改变了页面源中值的内容,这反过来又使值更新
form.reset()
-proof。bxjv4tth4#
用途:
agyaoht75#
对于每种元素类型,可以使用特定的属性来设置值。
例如:
You can try the example here!
1u4esq0p6#
像下面这样试试。它会工作的...
qeeaahzv7#
我认为问题在于你调用JavaScript函数的方式。
你的代码是这样的: