我试图阻止我的表单提交,如果验证失败。我试着按照这previous post,但我不为我工作。我错过了什么?停止提交表单,使用Jquery
<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()用于在单击事件时停止元素的正常行为。 – DG3 2012-04-10 16:25:46
发件人指的是e:事件 – 2012-04-10 16:34:17