Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/73.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何在ajax调用期间停止表单提交_Javascript_Jquery_Ajax - Fatal编程技术网

Javascript 如何在ajax调用期间停止表单提交

Javascript 如何在ajax调用期间停止表单提交,javascript,jquery,ajax,Javascript,Jquery,Ajax,我只能修改ajax调用中的代码。 当我单击名为$('#form1')的表单中的提交时,就会发生ajax调用 假设表单ID为#form1,则可以绑定提交处理程序并从中返回false: $.ajax({ url:'some.php', type:'POST', data:somedata, success:function(msg){ if(!msg){ $('#form1').submit(function(){ return false; // p

我只能修改ajax调用中的代码。 当我单击名为
$('#form1')
的表单中的提交时,就会发生ajax调用


假设表单ID为
#form1
,则可以绑定提交处理程序并从中返回false:

$.ajax({
  url:'some.php',
  type:'POST',
  data:somedata,
  success:function(msg){
    if(!msg){
     $('#form1').submit(function(){
       return false; // prevents form submit
     });
    }
  }
 })

假设表单ID为
#form1
,则可以绑定提交处理程序并从中返回false:

$.ajax({
  url:'some.php',
  type:'POST',
  data:somedata,
  success:function(msg){
    if(!msg){
     $('#form1').submit(function(){
       return false; // prevents form submit
     });
    }
  }
 })

这将停止功能以继续

放置

return false;

这将停止函数以继续

您需要在成功处理程序之前停止它。因为函数在AJAX调用后完成执行,所以表单将在AJAX调用发生时提交(等到AJAX调用完成时,已经太晚了)

但是,是的,将return false放在函数的末尾

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

  return false;  // Stop form submit
}

如果它在成功处理程序中非常重要,那么您可以同步执行调用。

您需要在成功处理程序之前停止调用。因为函数在AJAX调用后完成执行,所以表单将在AJAX调用发生时提交(等到AJAX调用完成时,已经太晚了)

但是,是的,将return false放在函数的末尾

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

  return false;  // Stop form submit
}

如果它在成功处理程序中非常重要,那么您可以同步执行调用。

您也可以使用
preventDefault()


您也可以使用
preventDefault()


返回false或event.preventDefault应有助于您:

$('#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
        }
    }
    });
    return false;
});
或:


返回false或event.preventDefault应有助于您:

$('#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
        }
    }
    });
    return false;
});
或:


您需要防止表单提交

onclick="ajaxcall(); return false;"
并在代码中执行此操作:

 $.ajax({
  url:'some.php',
  type:'POST',
  data:somedata,
  success:function(msg){if(msg) $('#form1').submit();}
 })

您需要防止表单提交

onclick="ajaxcall(); return false;"
并在代码中执行此操作:

 $.ajax({
  url:'some.php',
  type:'POST',
  data:somedata,
  success:function(msg){if(msg) $('#form1').submit();}
 })

您可以将按钮类型从“提交”更改为“按钮”,然后使用jquery form.submit()提交表单;根据你的情况运作。考虑下面的示例代码:

<script>
 $(document).ready(function() {
$("#button-id").click(function() //on click at button
{

var sel=$("#input").val();

        $.post("ajax-war.php",{jid:sel,rand:Math.random() } ,function(data)
        {

          if(data=='valid') //if correct login detail
          {

$('#war_form').submit(); //Submit form
          }

          else
          {
              alert('not valid'); //will not submit form

          }
});       
});
}); 

</script>

$(文档).ready(函数(){
$(“#按钮id”)。单击(函数()//单击按钮
{
var sel=$(“#输入”).val();
$.post(“ajaxwar.php”,{jid:sel,rand:Math.random()},函数(数据)
{
if(data='valid')//如果登录详细信息正确
{
$('#war_form').submit();//提交表单
}
其他的
{
警报('not valid');//将不提交表单
}
});       
});
}); 

您可以将按钮类型从“提交”更改为“按钮”,然后使用jquery form.submit()提交表单;根据你的情况运作。考虑下面的示例代码:

<script>
 $(document).ready(function() {
$("#button-id").click(function() //on click at button
{

var sel=$("#input").val();

        $.post("ajax-war.php",{jid:sel,rand:Math.random() } ,function(data)
        {

          if(data=='valid') //if correct login detail
          {

$('#war_form').submit(); //Submit form
          }

          else
          {
              alert('not valid'); //will not submit form

          }
});       
});
}); 

</script>

$(文档).ready(函数(){
$(“#按钮id”)。单击(函数()//单击按钮
{
var sel=$(“#输入”).val();
$.post(“ajaxwar.php”,{jid:sel,rand:Math.random()},函数(数据)
{
if(data='valid')//如果登录详细信息正确
{
$('#war_form').submit();//提交表单
}
其他的
{
警报('not valid');//将不提交表单
}
});       
});
}); 

dude事件已触发,您的代码不工作dude事件已触发,您的代码不工作注意。到目前为止唯一正确的答案。AJAX是异步工作的!向上投票。到目前为止唯一正确的答案。AJAX是异步工作的!