Ich versuche zu verhindern, dass mein Formular übermittelt wird, wenn eine Validierung fehlschlägt. Ich habe versucht, diese previous post zu folgen, aber ich arbeite nicht für mich. Was vermisse ich?Formular vom Senden abbrechen, Jquery verwenden
<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>
die Funktion in dem obigen Code die Form stoppt von der Abgabe sein könnte? Was macht die showMsg-Funktion? Warum verwenden Sie sender.preventDefault(); Ist das Absenderargument ein Ereignis? preventDefault() wird verwendet, um das normale Verhalten eines Elements bei einem Ereignis wie Klick usw. zu stoppen. – DG3
Absender bezieht sich auf e: Ereignis –