在thickbox内提交表单
我在thickbox中打开了一个联系表单,当用户单击“提交表单数据”时,我希望将其提交到我的php,该php将处理该数据并将成功的消息显示回thickbox。 php 页面被调用,但我如何获取表单数据?
I have a contact form open in thickbox i want when user click on submit form data submit to my php that will process that data and show sucessfull msg back to thickbox.
php page is called but how i will get form data?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
首先使用thickbox的iframe功能加载thickbox中的表单。 确保您已加载 jquery 和thickbox,方法是将其放入文档的 HTML 头部:
然后在页面上放置一个链接,在 iframe 中加载联系我们表单:
您的表单应该具有具有以下基本结构的标记:
现在使用 jQuery通过 AJAX 发送到您的表单。 将其放在 HTML 文档的头部:
其作用是:
向表单添加一个函数,以便在提交表单时调用。 它返回 false 以防止发生表单提交的默认行为。
此提交函数将使用您设置为
contact_us.php
的表单操作执行 AJAX 发布。最后,这将采用
contact_us.php
返回的任何内容,并将 div 的内容替换为 id 内容。因此,让您的
contact_us.php
脚本实际发送电子邮件或创建数据库记录,无论它执行什么操作,然后让它返回以下 HTML:显然,这可以是您想要的任何内容,无论您想要结束什么消息用户查看。 该链接向您展示了如何使厚盒窗口消失。
First use thickbox's iframe feature to load the form in the thickbox. Make sure you have jquery and thickbox loaded by putting this in the HTML head of your document:
Then put a link on the page the loads the contact us form in the iframe:
Your form should have markup that has this basic structure:
Now use jQuery to your form via AJAX. Put this in the head of the HTML document:
What this does is:
Adds a function to the form to be called when the form is submitted. It returns false to prevent the default behavior of a form submitting from happen.
This submit function will do an AJAX post, using the action of the form, which you set to
contact_us.php
.Finally, this will take whatever content
contact_us.php
returns and replace the content of the div with the id content with that.So make your
contact_us.php
script actually send the email or create a database record, whatever it does, and then have it return this HTML:Obviously this can be anything you want, whatever message you want the end user to see. The link shows you how to make the thickbox window go away.
要发布表单数据,需要使用 jQuery 的序列化函数。
修改上面的例子:
To post form data, one would need to use jQuery's serialize function.
Modifying the example above: