-2
PHPでHTML形式の電子メールフォームを作成しようとしています。送信ボタンを押した後にページがリロードされることを多くの人が知っています。 私はあなたがJqueryとAJAXでこれを行うことができることを知っています。私は多くのStackoverflowの問題を解決してくれましたが、私はまだ英語以外のネイティブスピーカーとしてそれを手に入れません。もう少しHERESに私のコード:電子メール送信フォームリフレッシュなしのPHP(JQueryとAjax)
HTML & AJAX(test.htmlという)
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Document</title>
</head>
<body>
<form method="POST" id="contact">
<div class="form-group">
<label for="name">Voornaam*</label>
<input name="fn" type="text" class="form-control" id="fn" aria-describedby="nameHelp" placeholder="John Doe" required>
</div>
<div class="form-group">
<label for="name">Achternaam*</label>
<input name="ln" type="text" class="form-control" id="ln" aria-describedby="nameHelp" placeholder="John Doe" required>
</div>
<div class="form-group">
<label for="email">Email-address*</label>
<input name="email" type="email" class="form-control" id="email" aria-describedby="emailHelp" placeholder="[email protected]" required>
</div>
<div class="form-group">
<label for="message">Bericht*</label>
<textarea name="message" required class="form-control" id="message" rows="6"></textarea>
</div>
<input type="button" id="submit" value="Verstuur" class="btn btn-primary">
<div id="result">
<p id="result">Testing</p>
</div>
</form>
<script type="text/javascript">
$(function(){
$('input[type=button] ').click(function(){
$.ajax({
type: "POST",
url: "sendmail.php",
data: $("#contact").serialize(),
beforeSend: function(){
$('#result').html('<img src="img/loading.gif" />');
},
succes: function(data){
$('#result').html(data);
}
});
});
});
</script>
<script src="http://code.jquery.com/jquery-1.9.1.js"></script>
</body>
</html>
PHPここ
<?php
if(isset($_POST['submit'])){
$to = "[email protected]"; // this is your Email address
$from = $_POST['email']; // this is the sender's Email address
$fn = $_POST['fn'];
$ln = $_POST['ln'];
$messagemail = $_POST['message'];
$subject = "Form submission";
$subject2 = "Copy of your form submission";
$message = $fn . " " . $ln . " wrote the following:" . "\n\n" . $messagemail;
$message2 = "Here is a copy of your message " . $fn ." ". $ln ."\n\n" . $messagemail;
mail($to,$subject,$message);
mail($from,$subject2,$message2); // sends a copy of the message to the sender
}
あなたが見た例から、何か試してみましたか?どこで立ち往生しましたか?チュートリアルとAJAXの使い方に関するオンラインの例がありますが、Stack Overflowは実際にそれらのチュートリアルを置き換えるつもりはありません。 – David
私は複数の例を試しましたが、実際の動作を理解していません – GrayWolf
何か具体的なことに取り組んでいれば、それを手助けすることができます。 "Teach me AJAX"はStack Overflowの質問には広すぎます。私たちが与える例は、既に存在する数多くの例よりも優れています* Stack Overflowの多くの質問にはすでに存在するものも含まれます。 – David