我有这个HTML表单与一个ID,我已绑定此ID的提交功能。我想要的是当用户点击提交,弹出窗口像一个模态框感谢他们。只有当他们点击屏幕或模态框关闭后,我想要该表单提交和刷新页面。
但我的方式现在似乎它会刷新无论什么。我使用花哨的弹出插件的模态框。
<form action="submit-comment.PHP" method="post" id="form"> <input type="text" name="comment" /> <input type="submit" name="submit" value="Submit" /> </form> jQuery("#form").submit(function() { jQuery.fancybox('<div class="Box">Some content</div>',{ 'onClosed' : function() { return true; } } }); });
正如你可以看到,我试图告诉它只返回真正的关闭,但它不是真的工作。
有任何想法吗?
解决方法
尝试这个:
jQuery("#form").submit(function(e) { var self = this; e.preventDefault(); jQuery.fancybox('<div class="Box">Some amazing wonderful content</div>',{ 'onClosed' : function() { self.submit(); } }); return false; //is superfluous,but I put it here as a fallback });
javascript是异步的,所以你不能延迟return语句。
更新
为了使上面的代码起作用,请将您提交按钮的名称更改为其他名称,例如:
<input type="submit" name="submit_me" value="Submit" />