2014-09-22 52 views
6

我使用ajaxForm()框架工作来发送我的数据而无需重新加载我的页面。如何通过.ajaxForm()提交表单之前执行一些操作?

$('#ReplayForm').ajaxForm({ 

     success : function(data){ 
      alert("Success"); 
     } 
    }); 

现在,我想在提交表单前检查一些条件,如果条件为false,则停止提交,否则继续。

是否有任何解决方案做这项工作或有任何方式购买,我可以执行此操作。 在此先感谢。

回答

8

是,definatly可以处理这种情况。你必须调用beforesubmit方法,这让看一个例子

$('#ReplayForm').ajaxForm({ 
     beforeSubmit : function(arr, $form, options){ 
      if("condition is true") 
      { 
       return true; //it will continue your submission. 
      } 
      else 
      { 
           return false; //ti will stop your submission. 
      } 

      }, 
      success : function(data){ 
       endLoading(); 
       if(data.result=="success")    
       { 
        showSuccessNotification(data.notification); 
       } 
       else 
       { 
        showErrorNotification(data.notification); 
       } 
      } 
    }); 
+3

工作,并添加一个JS jquery.form.js 2014-09-22 09:05:13

4

可以使用beforeSubmit选项

$('#ReplayForm').ajaxForm({ 
    beforeSubmit: function (arr, $form, options) { 
     //check your conditions and return false to prevent the form submission 
     if (!valid) { 
      return false; 
     } 
    }, 
    success: function (data) { 
     alert("Success"); 
    } 
}); 
+3

但它不会与Safari和移动浏览器中工作提交,这将直接提交无需进行现场检查 – 2014-09-22 09:00:32

+3

这也不能在窗口8.1手机IE浏览器 – 2014-09-22 09:01:35

2

使用beforeSend在JQuery的AJAX框架选项,如果测试失败return false应该这样做。

$('#ReplayForm').ajaxForm({ 

    success : function(data){ 
     alert("Success"); 
    }, 
    beforeSend: function() { 
     if(!myFunc()) { 
      return false; 
     } 
    } 
}); 
+2

爱德华你在移动浏览器中试用此代码时必填字段?检查它的不工作,没有检查PLZ不回答这个问题,许多开发人员和程序员正在检查你的代码并依赖于你。 – 2014-09-22 09:05:08

+0

你有移动解决方案Janak吗? – Edward 2014-09-22 09:22:03

+0

先生edward我面临这个移动问题从最近1个月,并没有得到适当的解决方案ajaxForm提交没有加载,其工作正常,但与移动或Safari浏览器的问题只,(我不想检查每次javascript和jQuery验证对于必填字段) – 2014-09-22 09:24:36

相关问题