2010-01-05 86 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();