所以,我想要的基本上是将 javascript 处理程序附加到表单,每当更改或单击其中一个表单输入框/选择框时,将使用更改的元素的 id 调用此处理程序.
我对此感到疑惑的原因是因为我已经有了这个包含大约 50 个输入框的表单,并且每次在 50 个输入框中的任何一个上发生操作时,我都需要将文本附加到不同的文本框中。我知道这可以通过将一个函数附加到 50 个文本框中的每一个来完成,但似乎应该有更简单的方法?
最佳答案
您可以绑定(bind)到表单上的 keydown/keyup 事件,然后查看 srcElement 或 target 以找出实际修改了哪个输入。不过,我认为您不能在表单元素上使用 change
。
基本上:
function Bind() {
var obj = document.getElementById("myForm");
if (obj.addEventListener)
{
obj.addEventListener("keyup",Process,false);
obj.addEventListener("keydown",Process,false);
}
else if (obj.attachEvent)
{
obj.attachEvent('onkeyup',Process);
obj.attachEvent('onkeydown',Process);
}
}
function Process(e) {
if (!e) var e = window.event;
var src;
if (e.target)
src = e.target;
else if (e.srcElement)
src = e.srcElement;
// src now points to the input that was modified.
}
关于javascript - 是否可能或当前存在 html 表单处理程序,如果是,我将如何使用它?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1359004/