联系表单提交按钮 - 禁用重定向

时间:2012-11-24 11:30:11

标签: php forms redirect submit contact

我使用的是我在http://www.1stwebdesigner.com/tutorials/custom-php-contact-forms/comment-page-2/#comments

找到的简单php表单

但我遇到的问题很少。单击提交按钮时,我希望能够保留在我的网站上,而不是在mail.php上重定向,只需在我的网站上打印/回显已发送的消息。

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

2 个答案:

答案 0 :(得分:2)

您需要的是$.ajax from jQuery。这将发送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字符串。

答案 1 :(得分:0)

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

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

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

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