因此,我想要的基本上是将javascript处理程序附加到窗体上,以便每当更改或单击窗体输入框/选择框之一时,将使用更改的元素的id调用此处理程序。
我对此感到疑惑的原因是因为我已经拥有大约50个输入框的表单,并且每次对50个输入框中的任何一个进行操作时,都需要将文本追加到其他文本框中。我知道可以通过将一个函数附加到50个文本框中来完成此操作,但似乎应该有一种更简单的方法?
最佳答案
您可以绑定到窗体上的keydown / keyup事件,然后查看srcElement或目标以找出实际修改了哪些输入。我认为您不能在表单元素上使用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/