小编use*_*801的帖子

如何让表单在提交之前等待ajax完成?

因此,只有在使用ajax从数据库验证条件时才需要提交表单.我使用的preventDefault()方法,如果如果用户不是一个居民,一个变量设置为true的条件为真,即ajax successs function与preventDefault()被调用,但是,这样做的时候,形式总是提交.即使异步设置为false,它也不会等待ajax完成.这是代码.

  $('#button').click(function(e) {    
    if ($('#ca_resident').prop('checked') == true) { 
      amount=$('#user-amount').val().replace(/[,]/g,"");
      project_name=$('#project_name').val();
      var not_resident = false;
       $.ajax({
        url: '/main/verify_residence/',
        type: 'POST',
        aysnc: false,
        data: {
          value: amount,
          name: project_name
        },
        success: function(data){
          $("#verify_residence").html(data);
          not_resident = true;
        },
        dataType: 'html'
      }); 
    }
    if(not_resident){
      e.preventDefault();
    }
  });
Run Code Online (Sandbox Code Playgroud)

javascript ajax jquery preventdefault

6
推荐指数
1
解决办法
1828
查看次数

标签 统计

ajax ×1

javascript ×1

jquery ×1

preventdefault ×1