I want to trigger $.ajax
on form onsubmit
and return true
only after Ajax return is something valid.
For example:
Return value at mark 1 is for your success function of ajax request, not for your validation function. Therefore even if it returns it returns only from there and not from validation function which is mark 2
Since AJAX is asynchronous your validation Would work better using a click handler on the submit button.
Following is based on removing the inline onSubmit
$(function() {
var $form = $('#myForm');
$form.find('input[type="submit"]').click(function() {
$.ajax({
/* async: false, this is deprecated*/
type: "POST",
url: "ajax.php",
data: {
myString: $("#myString").val()
}
}).success(function(response) {
alert(response); //Got 'ok'
if(response == "ok") {
/* submit the form*/
$form.submit();
} else {
alert("Oh, string is wrong. Form Submit is cancelled.");
}
}); /* prevent default when submit button clicked*/
return false;
});
});