如何使用form.submit与jQuery验证和覆盖窗口

时间:2011-09-22 04:14:59

标签: jquery forms jquery-validate

在提交表单之前,我已经想出如何提交Handler并完成一些任务。现在我需要显示一些叠加窗口(jQuery Tools)和onClose,提交表单。但它不起作用,我在Firebug中遇到了大量错误。

任何人都有任何想法,这是我的代码:

$("#frmcheckout").validate({
   submitHandler: function(form) {

    // Before Submit - show compliance messages
    var state = $('#shippingState1').val();

    if(state == 'CT' || state == 'Connecticut' || state == '1049'){
        $("#compliance-order-ct").overlay({
        expose: {
        color: '#333',
        loadSpeed: 200,
        opacity: 0.9
        },
        closeOnClick: false,
        load: true,
        onClose: function() { 
          // Submit the form
          console.log('overlay closed');
          form.submit();
          //return true; 
        }
        });
    }

});

如果我绕过使用叠加层,我可以正常使用form.submit - 但是一旦我将它包含在onClose事件中,它就不会提交。只是看看是否有人看到任何明显的东西。

1 个答案:

答案 0 :(得分:0)

不确定没有错误,你只是说它“不工作”(叠加层没有显示,或者表格没有提交?)

...但我可以说onClose不会将表单对象作为参数接收,它将获得一个事件。所以你可能试图在事件对象上调用submit,而不是表单。

来自jQuery工具docs

  

所有事件侦听器都接收Event对象作为第一个参数和   Overlay没有其他参数。