You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

JQuery GET请求生成的submitOneTimePassword按钮点击无响应怎么解决?

问题原因

你的点击事件绑定逻辑是在页面初始化阶段执行的,但id=submitOneTimePassword的按钮是AJAX请求成功后才动态插入到DOM中的,初始页面中不存在该元素,因此普通的.click()绑定无法匹配到目标元素,事件不会生效。

解决方案

推荐使用事件委托的方式绑定事件,将事件绑定到页面初始就存在的父级元素上,jQuery会自动监听匹配子元素的事件,不受元素动态插入的影响:

// 把事件委托给页面初始就存在的#set_authenticator容器,也可以用document作为父级
$("#set_authenticator").on("click", "#submitOneTimePassword", function() {
    alert('here');
});

你也可以选择把绑定逻辑放到DOM插入逻辑之后,放在AJAX的回调函数里执行:

$( "#enable_authenticator" ).click(function() {
    $.get("{{route('generateSecret')}}",
    function(data, status){
        $('#Authenticator_alert').hide();
        $('#enable_authenticator').hide();
        $( "#set_authenticator" ).html('<center>'+data[0]+'<br>'+'Your Authenticator Secret is: <strong>'+data[1]+'</strong> <br> <input type="text" placeholder="One Time Password" id="onetimepassword" class="form-control"><br> <button type="button" id="submitOneTimePassword" class="btn btn-warning">Submit</button></center>');
        // 插入DOM后再绑定事件
        $('#submitOneTimePassword').click(function() {
            alert('here');
        });
    });
});

内容的提问来源于stack exchange,提问作者masternode

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.24 22:06:03