繁体   English   中英

使用jQuery将表单提交到PHP

[英]Submit form to php using jquery

我有一个联系表单,提交给具有以下内容的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

无需提交,您可以使用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"); 
    }

您正在寻找jQuery的ajax()函数。

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

AJAX很容易引起您的注意,基本上就像javascript自己发送表单一样,而不是由用户自己发送。

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

您想要的一个称为success:它看起来像这样:

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

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

高度

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM