javascript - 是否可能或当前存在 html 表单处理程序,如果是,我将如何使用它?

标签 javascript html forms

所以,我想要的基本上是将 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/

相关文章:

java - 执行成功,但没有结果?

javascript - 在 jQuery 序列化中包含占位符

ruby-on-rails - select_tag 不保存选择的选项

python - Django/Sendgrid 表单 HTTP 错误 400 : Bad Request

Javascript动态选择,使用数组

javascript - 乘法表打印到控制台

javascript - 你如何每秒将一个 div 附加到一个容器?

javascript - 指定的值 "undefined"不是有效数字

javascript - 如何同时使用多个jquery?

javascript - 缩小包含自定义过滤器的 AngularJS 脚本