0

このコンテンツを含む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

4

2 に答える 2

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"); 
    }
于 2012-08-31T13:35:49.323 に答える
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番目

于 2012-08-31T13:34:08.447 に答える