我必须在表单上单击两次提交按钮,以便在添加jQuery验证后提交表单.还有其他与此相关的帖子,但是这些解决方案对我不起作用,因为我的表单提交了一个厚框弹出窗口,该弹出窗口需要GET方法和某些变量才能传递.我正在使用jquery.validate/1.8/jquery.validate.min.js和jquery/1.5.2/jquery.min.js.我没有包括规则,因为这只是我正在使用数字"类进行验证的一个字段(数量),以验证是否存在一个值并且它是一个数字.
I have to click the submit button twice on my form in order to submit it after adding jQuery validation. There are other posts regarding this but those solutions are not working for me as my form submits to a thickbox popup which requires a GET method and certain variables to be passed. I am using jquery.validate/1.8/jquery.validate.min.js and jquery/1.5.2/jquery.min.js. I am not including rules as it is just one field (quantity) that I am validating with class 'number' to verify there is a value and it is a number.
这是我的代码:
$(document).ready(function(){ // validate the form when it is submitted $("form.cart_form").validate({ //adding submitHandler results in having to click twice submitHandler: function(form) { $("form.cart_form").submit(function() { var title = ""; var productID = $("select[name=product_id]", this).val(); var quantity = $("input[name=quantity]", this).val(); var url = "../cart/add-to-cart.php?product_id=" + productID + "&quantity=" + quantity + "&TB_iframe=true&height=300&width=600"; tb_show(title, url, false); // submit the form // return false to prevent normal browser submit & page navigation return false; }); } }); });我绝不是jQuery专家,所以在此先感谢您提供的任何解决方案.
I am by no means a jQuery expert, so thank you in advance for any solutions you can provide.
推荐答案您的代码出现了太多的递归错误:$("form.cart_form").submit()触发了另一轮验证,从而导致了对commitHandler和递归的另一次调用.将其替换为form.submit()
Your code in a too-much-recursion error: $("form.cart_form").submit() triggers another round of validation, resulting in another call to submitHandler, and voila, recursion. Replace that with form.submit()
$(document).ready(function(){ // validate the form when it is submitted $("form.cart_form").validate({ //adding submitHandler results in having to click twice submitHandler: function(form) { form.submit(function() { var title = ""; var productID = $("select[name=product_id]", this).val(); var quantity = $("input[name=quantity]", this).val(); var url = "../cart/add-to-cart.php?product_id=" + productID + "&quantity=" + quantity + "&TB_iframe=true&height=300&width=600"; tb_show(title, url, false); // submit the form // return false to prevent normal browser submit & page navigation return false; }); } }); });更多推荐
jQuery验证强制双击“提交"以提交提交到thickbox的表单
发布评论