在提交表单之前,我已经想出如何提交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事件中,它就不会提交。只是看看是否有人看到任何明显的东西。
答案 0 :(得分:0)
不确定没有错误,你只是说它“不工作”(叠加层没有显示,或者表格没有提交?)
...但我可以说onClose不会将表单对象作为参数接收,它将获得一个事件。所以你可能试图在事件对象上调用submit
,而不是表单。
来自jQuery工具docs:
所有事件侦听器都接收Event对象作为第一个参数和 Overlay没有其他参数。