我在动态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\" />
答案 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()
}
});
如果您点击“确定”&#39;您将看到该表单已提交(并且jsFiddle发出警告以使用POST请求 - 但这是正常的),而点击“取消”#39;什么都不做。
答案 1 :(得分:0)
您也可以在提交函数处理程序中返回false,它应该可以工作。请查看this question以获取示例。