我在Web2py中有一个联系表单,可以通过他们的个人资料向用户发送电子邮件。 它在常规页面上工作正常,但是Captcha搞砸了我的设计,所以我想把它放在一个弹出窗口中。
我在这里使用了Java弹出窗口。 http://blog.theonlytutorials.com/a-very-simple-jquery-popup-ready-to-use-code/
这是我的观点:
<a href="#" id="pop"><img src="/init/static/images/envelope-small.gif" border="0" Title="Send A Message"></a></h1>
<div id="overlay_form" style="display:none">
<center> <h3>Send {{=user.company_name}} A Message</h3> </center>
{{=contact.custom.begin}}
Your Email:<br>
{{=contact.custom.widget.your_email}}
<br>
Your Message:<br>
{{=contact.custom.widget.question}}
{{=captcha}}
<center>
{{=contact.custom.submit}}
</center>
<a href="#" id="close" >Close</a>
{{=contact.custom.end}}
</div>
当我点击弹出窗口时,它会显示表单,如果所有字段都正确,将发送电子邮件。但是,如果表单有错误,它将关闭弹出窗口并在闪存框中通知。
如果表单有错误,我希望弹出窗口保持打开状态,以便更正。我认为表单验证会导致重新加载,因此弹出窗口会关闭,但我认为必须保持打开状态。
我是否会试图这样做?似乎Web2py总是有一个非常简单的解决方案,但我似乎无法找到它。
建议?
答案 0 :(得分:1)
您无法保持弹出窗口打开,因为整个页面都会使用表单提交重新加载。但是,当表单返回有错误时,您可以向页面添加一些Javascript代码,以便在页面加载后立即自动打开弹出窗口。
另一种选择是通过Ajax提交表单,这样可以避免整页重新加载。