我正在使用我在这里找到的一个简单的 php 表单http://www.1stwebdesigner.com/tutorials/custom-php-contact-forms/comment-page-2/#comments
但我有一些问题。单击提交按钮时,我希望能够留在我的网站上,而不是在 mail.php 上被重定向,而只是在我的网站上打印/回显发送的消息。
另外我想让字段有要求,比如不是空的,我知道如何在 php 中做,但我必须首先解决重定向问题。
你需要的是来自 jQuery 的 $.ajax。这将发送 POST 请求而不重新加载页面。
假设您的按钮被调用myButton
,然后onClick()
您将调用该函数的事件
$.ajax({
type: "POST",
url: "some.php",
data: { name: "John", location: "Boston" }
}).success(function( msg ) {
alert( "Data Saved: " + msg );
});
然后,您some.php
只需使用$_POST['name']
和$_POST['location']
检索信息。
编辑
假设您有一个输入字段。您也可以通过 jQuery 从此类字段中检索信息。然后,您可以通过 ajax 将输入字段中的信息发送到您的 php 脚本
$('#yourInputField').val();
其中yourInputField
是输入字段的 ID。有了这个,您可以将此信息传递给脚本。如果表单中有多个元素,您可能需要查看函数serialize()。原则上做同样的事情,只是将所有信息压缩成一个 JSON 字符串。
停留在同一页面上,您只需将表单操作设置为当前页面,然后您可以使用:
if (isset ($_POST['submit'])){
(php code to run goes in here)
echo 'blah blah';
}
当按下提交按钮时,它将运行 php 代码:)
然而,这仍然会重新加载页面,但不会将您定向到不同的 php 页面。如果您根本不希望页面重新加载,那么您可以使用 ajax :)