所以,我在一个页面上有一个联系表单(让我们称之为send_now.php
或example.com/send
)
填写并提交表单后,会向某位用户发送一封电子邮件,同时该页面会定向到example.com/it_is_sent
页面,其中包含基于confirmation.php
的已发送确认。
我想知道如何更改它,以便在example.com/send/
页面上完成所有操作,而无需刷新用户或将用户重定向到下一页。
这就是我的意思。
因此,在/send/
页面中,用户填写表单并单击“发送”。然后,在不将用户重定向到/confirmation/
页面的情况下,确认会显示在/send/
页面上,而不会重定向用户,因此所有内容都在同一页面内进行。
有办法吗?这样做的一般概念是什么? 或者,表格是否可以在同一页面内提交而无需刷新页面?
谢谢!
答案 0 :(得分:1)
在网上快速搜索" jquery ajax表单提交"。我认为你正在寻找的术语是Ajax。它允许您将JavaScript发送到PHP脚本而不刷新页面。
您可以像平常一样构建表单,并将jQuery单击事件附加到表单或提交按钮。 jQuery / Ajax函数从表单中获取数据并通过GET或POST将其发送到PHP表单。
您的jQuery / Ajax函数接收的PHP脚本输出是什么。我喜欢在PHP数组上使用json_encode来输出PHP脚本。在JavaScript中,我可以轻松地将结果用作值数组。
取决于数组或输出中的内容取决于JavaScript应如何反应。输出可以简单到0或1,真或假,或json数组或像我通常做的值。我通常至少会包含error=true/false
。
一旦Ajax成功函数触发,您就可以在Div中显示PHP脚本输出。
您还可以使用jQuery load()在成功时将另一个页面加载到Div中。当你把它们全部结合起来时,可能性是无穷无尽的。
您可以轻松地在整个StackOverflow上找到代码示例,并在Internet的其余部分找到教程。您正在寻找" jQuery Ajax表单提交到PHP",甚至可能使用MySQL?
这种技术使按钮可以进行即时更改。一旦你完成了这个项目,如果你真的想看看网络的瞬间变化,请查看websockets。