如何通过用户输入发送电子邮件而不会在提交后离开页面

时间:2014-09-01 08:04:39

标签: javascript php jquery html ajax

我有页面(联系me.php)。我希望用户输入他们的查询和电子邮件并提交。

我只知道如何提交到下一页并重定向回页面。

我如何以这样一种方式进行编码:当用户提交时,它会停留在同一页面上并显示一条通知,例如"查询已发送"

非常感谢!

7 个答案:

答案 0 :(得分:1)

您需要使用Ajax发送电子邮件表单,如:

$.ajax({
  url: 'mail file url',
  type: 'post',
  data: {'action': 'data1': 'value1'},
  success: function(data, status) {
    if(data == "ok") {
      //your success message here 
    }
  },
  error: function(xhr, desc, err) {
    console.log(xhr);
    console.log("Details: " + desc + "\nError:" + err);
  }
}); // end ajax call

答案 1 :(得分:0)

请尝试使用AJAX。 通过使用AJAX,无需更新整个页面。

答案 2 :(得分:0)

如果您打算使用jQuery,请将代码发送到文件中并调用$ .ajax()。只需将表单数据作为POST或GET变量传递给此文件即可。

您可以回显给调用页面一个成功或错误的值,并在调用页面中适当地处理它。

请勿忘记使用filter_var()等检查您从表单传递的变量。

答案 3 :(得分:0)

通过Ajax调用此函数,您可以发送电子邮件。它会发送电子邮件而不会重新加载。

function sendemail(){

var id=document.getElementById("email_id").value;
var msg=document.getElementById("message").value;

$.ajax({
url: 'mail.php?email_id='+id+"&message='+msg,
type: 'post',
data: {'action': 'data1': 'value1'},
success: function(data, status) {
if(data == "ok") {
  //your success message here 
}
},
error: function(xhr, desc, error) {
console.log("error" + error);
}
});

}

答案 4 :(得分:0)

你可以使用html和jquery但是你的php几乎保持不变。我在下面包含了html和jquery。您可以按照通常的方式联系我们页面。

----------



<!doctype html>
<html>
<head>
    <meta charset="utf-8">
    <title>Contact Us</title>
    <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.7/jquery.min.js"></script>
    <script>


    $(function() {

      $("#Send").click(function(){
        var name =$("#name").val();
            $.post('contactus.php',{Name:name},function(data)
                        {

                            alert(data);

                            });




        };


   });


    </script>
</head>
<body>  
    <form method="post" onsubmit='return false;' id="form">
        Name: <input type="text" name="name" required id="name"><br>

        <input type="submit" id="Send" value="Send">
    </form>
</body>
</html>

答案 5 :(得分:0)

您可以使用php mail功能发送电子邮件,也可以使用其他插件PHPmailer

发送电子邮件后,您可以使用php语法在同一页面中引导您的页面 标题(&#34;位置:yourpage.php&#34;)

我使用的是

希望它可以帮到你

答案 6 :(得分:0)