0

我正在使用我在这里找到的一个简单的 php 表单http://www.1stwebdesigner.com/tutorials/custom-php-contact-forms/comment-page-2/#comments

但我有一些问题。单击提交按钮时,我希望能够留在我的网站上,而不是在 mail.php 上被重定向,而只是在我的网站上打印/回显发送的消息。

另外我想让字段有要求,比如不是空的,我知道如何在 php 中做,但我必须首先解决重定向问题。

4

2 回答 2

2

你需要的是来自 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 字符串。

于 2012-11-24T11:36:03.303 回答
0

停留在同一页面上,您只需将表单操作设置为当前页面,然后您可以使用:

if (isset ($_POST['submit'])){
(php code to run goes in here)
echo 'blah blah';
}

当按下提交按钮时,它将运行 php 代码:)

然而,这仍然会重新加载页面,但不会将您定向到不同的 php 页面。如果您根本不希望页面重新加载,那么您可以使用 ajax :)

于 2012-11-24T11:39:34.593 回答