我試圖阻止我的表單提交,如果驗證失敗。我試着按照這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