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

Javascript 如何在提交后使用用户输入发送电子邮件而不离开页面,javascript,php,jquery,html,ajax,Javascript,Php,Jquery,Html,Ajax,我有一个页面(contact me.php)。我想用户输入他们的查询和电子邮件,并提交 我只知道如何提交到下一页并重定向回该页 如何进行编码,以便用户提交时,它保持在同一页面上,并显示类似“已发送查询”的通知 多谢 请尝试使用AJAX。 通过使用AJAX,无需更新整个页面。将发送电子邮件的代码放在一个文件中,如果计划使用jQuery,则调用$.AJAX()。只需将表单数据作为POST或GET变量传递到此文件 您可以向调用页回显成功或错误的值,并在调用页中适当地处理该值 不要忘记使用filter\

我有一个页面(contact me.php)。我想用户输入他们的查询和电子邮件,并提交

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

如何进行编码,以便用户提交时,它保持在同一页面上,并显示类似“已发送查询”的通知

多谢

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

将发送电子邮件的代码放在一个文件中,如果计划使用jQuery,则调用$.AJAX()。只需将表单数据作为POST或GET变量传递到此文件

您可以向调用页回显成功或错误的值,并在调用页中适当地处理该值


不要忘记使用filter\u var()等检查从表单传递的变量。

您需要使用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

通过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);
}
});

}

您可以使用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>
----------
联系我们
$(函数(){
$(“#发送”)。单击(函数(){
var name=$(“#name”).val();
$.post('contactus.php',{Name:Name},函数(数据)
{
警报(数据);
});
};
});
名称:

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

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

我就是这么用的


希望它能帮助你

查看两个链接,它们都有ajax请求的联系方式


像@JohnRobertson所说的那样使用Ajax你在问题中添加了Ajax标签,所以看起来你知道答案。@Barmar是的,我读了一些文章,上面说Ajax是解决方案,但我只熟悉Ajax,你需要学习它。所以这不是免费的代码编写服务,你需要尝试一下,我们会帮助你解决其中的问题.