如何有条件地提交表格?

时间:2015-09-04 16:39:52

标签: javascript jquery html forms

我在动态html页面中使用以下表单和提交按钮。

ExceptionResolver

<form method=\"post\" class=\"my-form\" >

我想要做的是当用户提供特定输入时,然后显示一个警告框,询问用户是否要提交更改,或者只是保持在同一页面而不提交更改。

我可以显示警告框(在stackoverflow成员的帮助下),但是还有window.alert我应该添加到JavaScript中的内容,这样如果用户点击window.confirm上的“取消”并且提交了表单,则表单不会被提交用户在window.confirm上单击“确定”?

JavaScript示例位于fiddle

<input type=\"submit\" name=\"submitButton\" value=\"Submit\" id=\"button1\" />

2 个答案:

答案 0 :(得分:4)

您只需更改逻辑,以便仅在用户拒绝确认框时调用preventDefault()。试试这个:

$(document).on('submit', '.my-form', function (e) {
    if ($(this).hasClass('changed')) {
        var allowSubmit = window.confirm("You have set a unique threshold for one or more states below. Are you sure you want to reset them all?")
        if (!allowSubmit) 
            e.preventDefault()
    }
});

Example fiddle

如果您点击“确定”&#39;您将看到该表单已提交(并且jsFiddle发出警告以使用POST请求 - 但这是正常的),而点击“取消”#39;什么都不做。

答案 1 :(得分:0)

您也可以在提交函数处理程序中返回false,它应该可以工作。请查看this question以获取示例。