jquery 如何删除preventDefault()?

pb3skfrl  于 2023-05-06  发布在  jQuery
关注(0)|答案(2)|浏览(145)

我想暂时停用表单,并显示一个确认框,是否要发送数据,但我想再次激活表单时遇到问题。
停用表单的代码:

var statusForm = true;
$("form.form-update").submit((e)=>{
    e.preventDefault();
    $("form.form-update input").each((key, element) => {
        if (element.value == "") {
            statusForm = false;
        }
    });
    if (statusForm == false) {
        alert("Data is invalid!");
    }
    else{
        // Show the popup
        $(".confirm-notification").show();
    }
})

单击“yes”按钮时的代码:

// When "yes" button click
$(".confirm-notification-yes").click(()=>{
    // Code to remove preventDefault() on $("form.form-update")
})

如何删除$(“form.form-update”)上的preventDefault()?
[Problem solved]结合使用unbind()和submit()方法解决了问题。所以代码变成了:

$(".confirm-notification-yes").click(()=>{
    $("form.form-update").unbind('submit');
    $("form.form-update").submit();
})
fdbelqdn

fdbelqdn1#

选择“是”,提交表格:

$(".confirm-notification-yes").click(()=>{
    $("form.form-update").submit();
})

现在,让我们修复第一部分。我想提交是通过一个按钮开始的。您将代码放在该按钮中,而不是提交事件中。

$("btn-that-initiates-submission").click(() => {
    e.preventDefault();
    let missingValue = false;
    $("form.form-update input").each((key, element) => {
        if (element.value === "") {
            missingValue = true;
        }
    });
    if (missingValue) {
        alert("There's missing data in the form.");
    }
    else {
        $("confirm-notification").show();
    }
});
enxuqcxy

enxuqcxy2#

像那样做

// When "yes" button click
$(".confirm-notification-yes").click(()=>{
// Code to remove preventDefault() on $("form.form-update")
 $("form.form-update").unbind('submit').click();
 })

相关问题