【发布时间】:2012-04-22 23:16:06
【问题描述】:
如果验证失败,我正试图阻止我的表单提交。我试过关注这个previous post,但我不适合我。我错过了什么?
<input id="saveButton" type="submit" value="Save" />
<input id="cancelButton" type="button" value="Cancel" />
<script src="../../Scripts/jquery-1.4.1-vsdoc.js" type="text/javascript"></script>
<script type="text/javascript">
$(document).ready(function () {
$("form").submit(function (e) {
$.ajax({
url: '@Url.Action("HasJobInProgress", "ClientChoices")/',
data: { id: '@Model.ClientId' },
success: function (data) {
showMsg(data, e);
},
cache: false
});
});
});
$("#cancelButton").click(function () {
window.location = '@Url.Action("list", "default", new { clientId = Model.ClientId })';
});
$("[type=text]").focus(function () {
$(this).select();
});
function showMsg(hasCurrentJob, sender) {
if (hasCurrentJob == "True") {
alert("The current clients has a job in progress. No changes can be saved until current job completes");
if (sender != null) {
sender.preventDefault();
}
return false;
}
}
</script>
【问题讨论】:
-
以上代码中的哪个函数阻止了表单提交? showMsg 函数在做什么?你为什么使用 sender.preventDefault();发件人参数是一个事件吗? preventDefault() 用于在某些事件(例如单击等)时停止元素的正常行为。
-
发件人指的是 e: 事件
标签: jquery asp.net-mvc-3 validation preventdefault