【问题标题】:How to trigger/fire "oninput" events in Javascript/jQuery? jQuery('#iD').trigger("oninput")?如何在 Javascript/jQuery 中触发/触发“oninput”事件? jQuery('#iD').trigger("oninput")?
【发布时间】:2020-11-21 23:48:38
【问题描述】:

我目前正在使用 Elementor WordPress 表单插件 (MetForm),它使用 oninput 事件来处理用户在其表单中提交的数据。

问题是我在 URL 中的页面之间传递数据作为参数,但这些无法保存,因为它们不是由用户在登陆新页面时手动输入的。

他们的插件现在要求用户与表单元素交互以注册值。

jQuery('#iD').val(); 

除非用户实际输入,否则不会设置新值。

jQuery('#iD').trigger("oninput"); or jQuery('#iD').trigger("input");

似乎不起作用。

尝试更改他们的插件对我来说非常复杂,而且他们的支持尚未响应我的请求。

有没有一种方法可以在具有给定 ID 的特定表单元素上手动触发 oninput 事件以欺骗用户输入?您可以假设每个表单元素都有一个单独的 ID如下:#my-input1、#my-input2 等)


请注意,我不是在尝试处理输入。用户不会与我为他们预先填写的输入进行交互。我试图触发oninput 事件来欺骗表单插件,让他们相信这就是发生的事情,以便在提交表单时注册表单值。

【问题讨论】:

    标签: javascript jquery events jquery-events elementor


    【解决方案1】:

    是的,您可以手动为输入添加事件侦听器

    例子:

    const myInput = document.querySelector('#my-input1');
    myInput.addEventListener('input', function () {
        // code to run when oninput event is triggered on the input
    }) 
    

    【讨论】:

    • 这不是我问的。我正在尝试触发/触发“oninput”事件,以便当前表单插件注册我使用 jQuery 设置的所有值。用户不会与我为他们预先填写的输入进行交互。我正在尝试使用类似 jQuery('#iD').trigger("oninput");但这不起作用。
    • 我猜这个错误来自于做 trigger("oninput") do trigger("input")
    猜你喜欢
    • 2021-02-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-11-28
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多