-1

すべて同じページを使用するため、フォーム アクションは "" です。フォームを更新せずに同じページに送信できる方法はありますか?

PHP:

<?php 
if ($_SERVER['REQUEST_METHOD'] == 'POST'){
    $to="josue.espinosa@mtchs.org";
    $subject="Tech Muffins Contact";
    $message="Name:      ".$_REQUEST['name']."\n\nEmail:      ".$_REQUEST['email']."\n\nMessage: ".$_REQUEST['message'];
    $from = "donotreply@techmuffins.com";
    $headers = "From:" . $from;
    mail($to, $subject, $message, $headers );
}
?>

HTML:

<form id="contactform" action="" method="post" autocomplete="off">
    <input type="text" name="name" placeholder="name" autofocus required>
    <input type="email" id="email" name="email" placeholder="email" required>
    <textarea name="message" placeholder="message" required></textarea>
    <input type="submit" value="submit">
</form>
4

2 に答える 2

0

更新せずにこれを行うには、通常、Ajax を介してこれを処理します。このための JavaScript 関数が存在します。以下に例を示します (jQuery を使用):

var frm = $(document.myform);
var data = JSON.stringify(frm.serializeArray());
于 2013-03-22T01:00:12.890 に答える
0

「your.php」をあなたのものに変更します

  <script type="text/javascript">
            $(document).ready(function(){
                $("#contactform").submit( function () {    
                  $.post(
                   'your.php', 
                    $(this).serialize(),
                    function(data){
                      //if you have a div to show result (with id=results)
                      $("#results").html(data)
                   //if sucess hide the form as $("#contactform").hide()
                  // or .fadeOut() 
                    }
                  );
                  return false;   
                });   
            });
    </script>
于 2013-03-22T01:07:08.400 に答える