无法阻止追加在 Jquery UI 对话框上的表单按钮的缺省操作

Cannot prevent default actions for form Buttons appended on Jquery UI dialog

本文关键字:表单 按钮 操作 缺省 对话框 UI 追加 Jquery      更新时间:2023-09-26

我正在通过 Ajax 将表单加载到 jquery 对话框窗口,但是当我在提交按钮上附加单击事件时,我无法阻止表单的默认提交,即。我希望当用户单击附加的表单提交按钮并且对话框未关闭时,表单不提交。我遇到的问题是,我无法使用jquery选择此按钮,但是当我在firebug中运行它并且对话框已经打开时,脚本功能。表单是在后台创建的.php从类注意:表单在对话框窗口中正确加载,因此 ajax 很好,但我无法选择并单击事件并将其附加到表单峰会按钮,我不想使用对话框按钮。我希望表单按预期运行。然后,如果表单在普通网页上但不在对话框中,我可以阻止提交按钮操作请协助我是编程新手这是 admin 中的代码.php当链接单击时通过 Jquery ajax 加载

<form action="process.php" method="post" id="edit_form">   
<input type="submit" name="event_submit" value="Create" />
<a href="./">cancel</a>
</fieldset>
</form>

我也无法阻止单击取消链接时的默认操作。这是加载管理员的jquery代码.php

这是防止表单提交按钮的默认操作起作用的代码

$("#edit_form input[type=submit]").on("click",function(event){
        event.preventDefault();         
        alert('You clicked a button');  
    });

你需要使用事件委托来确保按钮事件在由 jQuery UI 动态创建时是绑定的:

$(document).on("click","#edit_form input[type=submit]", function(event){
        event.preventDefault();         
        alert('You clicked a button');  
    });

查看 .on 的文档,其中详细解释了该概念。

试试这个:

$(document).on("click", "#edit_form input[type=submit]",function(event){
    event.preventDefault();         
    alert('You clicked a button');  
});

尝试委托

追加的 DOM 对象也将具有事件。

$(body).delegate("#edit_form input[type=submit]","click",function(event)
{
        event.preventDefault();         
        alert('You clicked a button');  
});