我有一个js函数,它根据id_2
的值设置id_1
的值。它如下所示:
function set_value(id_1, id_2, url){
var id_1_value;
id_1_value = $(id_1).val();
var value;
...
/* calculation etc. */
document.getElementById(id_2).value = value;
};
该函数通过像id_1
这样的onchange方法链接到onchange='set_value(this, id_2)'
html元素。
如果我更改id_1
中的值,则该功能无效,我在控制台中收到以下错误:
Unable to set property 'value' of undefined or null reference
但是如果我在函数中硬编码document.getElementById('id_2')
它就可以了。如何编写此函数以便我可以成功传递元素id变量?我想为你看到的不同元素重用这个函数......
答案 0 :(得分:1)
您的set_value
功能应如下所示。
function set_value(id_1, id_2, url) {
var id_1_value = $(id_1).val();
/* calculation etc. */
if ($(id_2).length !== 0)
{
$(id_2).val(id_1_value);
}
}
答案 1 :(得分:0)
你是否经过"#id_2"到set_value参数?
如果是这意味着它将返回null。
// The function should be called like this
var id_2 = "id_2";
set_value(this, id_2, blah...)
答案 2 :(得分:0)
像这样更改电话
onchange='set_value(this, "id_2")'
第二个参数应该作为字符串传递。
答案 3 :(得分:0)
尝试以下代码:
function set_value(id_1, id_2, url){
var id_1_value = $(id_1).val();
var value;
...
/* calculation etc. */
document.getElementById(id_2).value = value;
};
和onchange功能
onchange="set_value(this, 'id_2')"