vikingmute vikingmute - 22 days ago 7
Javascript Question

how to stop form submit in when in a ajax call

i can only modify the code in the ajax call
a ajax call made when i click the submit in form named $('#form1')

$('#form1').submit(function(){
$.ajax({
url:'some.php',
type:'POST',
data:somedata,
success:function(msg){
if(!msg){
//i wanna to stop form1 submit here,how to do that? you can only modify the code in the ajax call
}
}
})
})

Answer

You'll need to stop it BEFORE the success handler. Because the function finishes executing after your AJAX call the form will submit while your ajax call is occurring (and by the time your ajax call finishes it is too late).

But yes, put return false at the end of your function.

function SubmitHandler(){
  // Your AJAX call here
  // blah blah blah

  return false;  // Stop form submit
}

If it's really important that it is in the success handler, then you could execute the call synchronously.