【发布时间】:2010-12-11 18:44:05
【问题描述】:
我有一个带有两个按钮的表单,一个提交按钮和一个取消/关闭按钮。当用户单击提交时,输入的数据将使用http://www.position-absolute.com/articles/jquery-form-validator-because-form-validation-is-a-mess/ 进行验证。如果一切都验证通过,则使用 jQuery/AJAX 提交表单。这一切都很好,花花公子。不过,我遇到了取消按钮的问题。我希望取消按钮需要确认。如果用户选择继续,他们将被带到我选择的页面。如果他们决定不想取消,那么他们只是留在页面上。这是最后一个不起作用的部分。
我的表单代码如下所示:
<form name="createPage" id="createPage" method="post" action="pager.php" class="ajax updateForm">
<input name="whatever" type="text" />
<button type="submit" id="submitQuickSave" class="submitSave"><span>save</span></button>
<button type="submit" id="submitCancel" class="submitClose" onclick='confirm_close()'><span>close</span></button>
</form>
我当前的取消脚本如下所示。如果用户确实想取消,我取消绑定表单提交以便不执行验证。然后表单继续提交,并在 action 属性中包含取消作为参数。我处理取消服务器端并将用户引导到新页面。
function confirm_close()
{
var r=confirm("All changes since your last save operation will be discarded.");
if (r==true)
{
$(".ajax").unbind("submit");
}
else
{
}
}
我不知道应该在“else”参数中添加什么。发生的情况是,如果用户取消取消(即返回 false),那么表单仍会尝试提交。我不能让它停下来。我在这个网站和其他网站上尝试了几件事,但都没有成功:
event.stopImmediatePropogation
.abort()
有什么想法吗?基本上,我怎样才能让取消/关闭按钮正常工作?
【问题讨论】: