-1

ページをロードせずに動作するには、以下のようなマークアップと php コードのフォームを変更する必要があります。したがって、Ajax PHP フォームになります。私はajaxにかなり慣れていません。誰かが私にそれをどうやって進めるか教えてください。とても感謝しています。

訪問者が記入したフォーム データのコピーは、訪問者に電子メールで送信する必要があることに注意してください。

マークアップは次のとおりです。

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<title>Contact form to email</title>

</head>
<body>
<div id="myemailform">
<form action="contact.php" method="post" name="myemailform">
Enter Name: <input name="name" type="text" /> 
Enter Email Address: <input name="email" type="text" /> 
Enter Message:<textarea name="message"></textarea>
<input type="submit" value="Send Form" />&nbsp;
</form>
</div>

<script type="text/javascript" src="myform.js"></script> 
<script src="//ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
</body>
</html>





<html>
<head>
<meta charset="utf-8">
<title>Contact form to email</title>
</head>

<body>

<form method="post" name="myemailform" action="contact.php">

Enter Name: <input type="text" name="name">

Enter Email Address:    <input type="text" name="email">

Enter Message:  <textarea name="message"></textarea>

<input type="submit" value="Send Form">
</form>

</body>

</html>

PHP コードは (contact.php):

<?php
$name = $_POST['name'];
$visitor_email = $_POST['email'];
$message = $_POST['message'];

$email_from = 'me@mysite.com';

$email_subject = "New Form submission";

$email_body = "You have received a new message from the user $name.\n".
                        "Here is the message: $message.\n";  

$aEmails = array();
$aEmails[] = 'me@mysite.com';
$aEmails[] = $visitor_email;


$headers = "From: $email_from \r\n";

$headers .= "Reply-To: $visitor_email \r\n";

foreach($aEmails as $aEmail) {
mail($aEmail,$email_subject,$email_body,$headers);
}


?>

JS コード:

$('form#myemailform').on('submit',function(e){
$.ajax({
    type: 'post',
    url: 'contact.php',
    data: $('form#myemailform').serialize(),
    success: function (res) {
alert(res);
}
});
e.preventDefault();
});

前もって感謝します。

4

3 に答える 3

0

idフォームに入力し、次のajaxように渡します。

$('form#myemailform').on('submit',function(e){
$.ajax({
        type: 'post',
        url: '/your/php/page/path',
        data: $('form#myemailform').serialize(),
        success: function (res) {
            alert(res);
        }
    });
    e.preventDefault();
});

ページでは、すべての変数PHPにアクセスできます。POSTそして、あなたは行く準備ができています...

JQueryPS:このスクリプトを実行する前に、ライブラリをインポートする必要があります。

于 2014-10-27T17:39:06.460 に答える