使用jquery将表单提交给php

时间:2012-08-31 13:26:43

标签: php jquery forms

我有一个提交到包含此内容的php页面的联系表单:

<?php 
$to = 'emailtosendto';
$subject = 'New message from contact form';
$name = $_POST['fullname'];
$mail = $_POST['email'];
$company = $_POST['company']; 
$phone = $_POST['phone']; 
$comment = $_POST['comment'];
$message = $_POST['message'];   
$body = 'Mr/Mrs '.$name.' wishes to contact us.
He\'s from a company called '.$company.'.
You can email him back at '.$mail.', or call him on '.$phone.'.
He was sneaky and found us through '.$comment.'.
He would like to say,
'.$message.'';
ini_set('sendmail_from', '$mail');
mail($to, $subject, $body);
header('location:./?sent');
?>

我现在已经将表单更改为一个很好的实时验证jQuery表单,你可以在下面看到它的小提琴。

http://jsfiddle.net/swift29/6UC7m/

我正在考虑如何更改任何此代码仍然执行相同的功能但是使其显示弹出窗口确认已使用jQuery发送消息然后淡出并且表单已重置

提前致谢,Swift

2 个答案:

答案 0 :(得分:1)

您可以使用AJAX,而不是提交。这样你就可以在完成后弹出一个弹出窗口。

示例:

$.ajax(
    url:  "urlofscript.php",
    data: {
              fullname: variableContainingFullname, // i.e. var variableContainingFullname = $("#fullname").var();
              email:    variableContainingEmail,
              // etc, all the php variables in POST
          },
    type: "POST",
    success: function(result)
    { 
        alert("DONE"); 
    }

答案 1 :(得分:0)

您正在寻找jQuery的ajax()功能。

AJAX将通过Javascript发送POST查询。这意味着您不必刷新页面,它将自动发送,脚本(mailer.php)将在新实例(而不是用户当前使用的浏览器窗口)中调用 - 它也被称为“异步”或“背景”,即它不会中断用户正在做的事情(简而言之)。

AJAX非常容易理解,基本上它就像javascript正在发送一个表单本身,而不是用户这样做。

ajax() jquery函数中有一些回调函数。

您想要的名为success:,它可能如下所示:

success: function(data){ alert("Your message has been sent!"); }

当php脚本运行并且javascript回调时,它将显示警告。

H个