簡體   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