我正在尝试使用“onchange”属性动态添加新的输入字段:
var f = document.getElementById("dN[" + fieldsd + "]"); // create/insert new
el = document.createElement("input");
el = f.appendChild(el);
el.name = "dName[" + fieldsd + "]";
el.id = "dName[" + fieldsd + "]";
el.onchange = "validation()";
我也试过setAttribute都不适合我。有没有办法让这项工作或解决方法?
答案 0 :(得分:7)
在JavaScript中,将onchange
属性设置为指向函数的指针,而不是实际的字符串:
var f = document.getElementById("dN[" + fieldsd + "]"); // create/insert new
el = document.createElement("input");
el = f.appendChild(el);
el.name = "dName[" + fieldsd + "]";
el.id = "dName[" + fieldsd + "]";
el.onchange = validation;
(你有一个名为validation
的函数)
如果需要传递参数,请将onchange
设置为调用验证函数的函数:
el.onchange = function () {
validation(param1, param2, ...);
};
或者,如果您需要输入本身的信息,可以在this
函数中使用validation
关键字:
el.onchange = validation;
....
function validation() {
// this is the "context" for the function. In this case
// the element that changed.
var value = this.value;
}