2010-01-05 121 views
0

所以,我有一個窗體,我加載div,因爲我去詢問各種用戶輸入並顯示一些優惠。jQuery驗證插件和.ajax

我有以下幾點:

$("#calcPrice").click(function() { 

$("#invPricing").validate({ 
    rules: { ... }, 
    messages: {... } , 
    submitHandler: function(form) { 
    .... 
    $.ajax({ 

    }); 
    $.ajax({ 

    }); 
    return false; 
    } 
    }); 

我的問題是驗證後,沒有AJAX調用的工作。如果我刪除驗證方法(規則,消息,submitHandler),一切工作正常。有人可以告訴我我在這裏失蹤了嗎? 在此先感謝。

順便說一句,這些都是Ajax調用:

$.ajax({ 
    dataType: "json", 
    type: "get",   
    url: <cfoutput>"#actURL#"</cfoutput>, 
    data: formData+"&p_type=LOW&returnJSON=true",   
    cache: false,  
    success: function(result) { 
     // fields to populate: 
     $("#rent").val(result.RENT); 
     $("#discount").val(result.DISCOUNT); 
     $("#salesPrice1").val(result.SALESPRICE); 
     $("#cashPrice1").val(result.CASHSALESPRICE); 
     $("#tax1").val(result.SALESTAX);    $("#payment1").val(result.PAYMENTS); 
      } , 
    error: function(xmlHttpRequest, status, err) { 
       confirm('Error!' + err); 
      } 
    }); 

    $.ajax({ 
    dataType: "json", 
     type: "get",   
    url: <cfoutput>"#actURL#"</cfoutput>, 
    data: formData+"&p_type=HIGH&returnJSON=true",   
    cache: false,  
    success: function(result) { 
     // fields to populate: 
    $("#rent").val(result.RENT); 
    $("#discount").val(result.DISCOUNT); 
    $("#salesPrice2").val(result.SALESPRICE); 
    $("#cashPrice2").val(result.CASHSALESPRICE); 
     $("#tax2").val(result.SALESTAX);       $("#payment2").val(result.PAYMENTS); 
      } , 
      error: function(xmlHttpRequest, status, err) { 
       confirm('Error!' + err); 
      } 
    }); 

我基本上顯示兩個報價一低,一高。

+0

當你調用$。阿賈克斯()到底會發生什麼? – 2010-01-05 22:34:27

+0

你的ajax調用做什麼?如果你的Ajax需要提交表單和回髮結果,你可以將它們分隔到validate()函數之外。 – 2010-01-05 22:37:21

+0

由於沒有提交任何內容,我擺脫了submitHandler。但是,我仍然無法進行驗證工作。有任何想法嗎? 謝謝 – CFNinja 2010-01-06 22:20:29

回答

0

這個工程:

$("#myForm").validate({ 
    rules : { ... }, 
    messages : { ... } 
}).form();