Javascript 使用AJAX和联系人表单删除页面重新加载

Javascript 使用AJAX和联系人表单删除页面重新加载,javascript,php,jquery,html,ajax,Javascript,Php,Jquery,Html,Ajax,我在这里看到了很多关于这方面的问题,并从几个答案中提取了我现在的代码 但由于某种原因,我不能让它工作,我不知道为什么 我有一个HTML表单,其代码如下: <form id="quick_contact" name="quick_contact" action="" method="POST"> <div class="input-control text"> <input id="name" name="name" type="text" v

我在这里看到了很多关于这方面的问题,并从几个答案中提取了我现在的代码

但由于某种原因,我不能让它工作,我不知道为什么

我有一个HTML表单,其代码如下:

<form id="quick_contact" name="quick_contact" action="" method="POST">
    <div class="input-control text">
        <input id="name" name="name" type="text" value="" placeholder="Enter name here">
    </div>
    <div class="space10">&nbsp;</div>
    <div class="input-control email">
        <input id="email" name="email" type="email" value="" placeholder="Enter email address here"/>
    </div>
    <div class="space10">&nbsp;</div>
    <div class="input-control textarea">
        <textarea id="comments" name="comments" placeholder="Enter Comments Here"></textarea>
    </div>
    <div class="space10">&nbsp;</div>
    <button id="quick_submit" name="quick_submit" onclick="quickContact()">Send</button>                      
</form>

发送
我的jquery在这里更新为托马斯的答案

<script type="text/javascript">
    function quickContact(){
        $.ajax({
        type: "POST",
        url: "quick-contact.php",
        data:
             {
                 name: $('#name').val().trim(),
                 email: $('#email').val().trim(),
                 comments: $('#comments').val().trim(),                 
             },            
        success: function(html) {
                     var submitted = $.trim(html);
                     if (submitted) {
                         alert("Thanks for your submission");
                         $('#quick_contact')[0].reset();
                         return;
                     } else {
                         alert("Failed to submit.");
                         return false;
                }
        }
    });         
};
</script>
if(isset($_POST) == true){
    $status = 1 // init to one, assume there will not be an error
    //Store the entered values in the variables
    $name = mysql_escape_string(trim($_POST['name']));
    $email = mysql_escape_string(trim($_POST['email']));
    $comments = mysql_escape_string(trim($_POST['comments']));
    $comments = str_replace('\r\n','<br>',$comments);

    // EMAIL HEADERS
    $headers = "MIME-Version: 1.0\n";
    $headers .= "Content-type: text/html; charset=utf-8\n";
    $headers .= "X-Priority: 3\n";
    $headers .= "X-MSMail-Priority: Normal\n";
    $headers .= "X-Mailer: php\n";          
    $headers .= "From: *****<*****@l*****>\n";

    //SEND EMAIL TO BRANCH
    // EMAIL TITLE
    $subject = $name . " " . get_content(3344);

    //message
    $message1 = "<style type=\"text/css\">";
    $message1 .= "div { font-family: Arial, Verdana, Tahoma; font-size: 10pt; line-height: 120%; }";
    $message1 .= "h1 { margin: 0; font-size: 14pt; }";
    $message1 .= "h2 { margin: 0; font-size: 12pt; }";
    $message1 .= "span { font-size: 9pt; font-weight: bold; }";
    $message1 .= "</style>\n";
    $message1 .= "<div>";
    $message1 .= "<p>" . $name . " " . get_content(3344) . "</p>\n";
    $message1 .= "<p>" . get_content(3345) . "</p>\n";
    $message1 .= "<p><b>" . ucwords(get_content(2869)) . ":</b> " . $name . "<br />";
    $message1 .= "<b>" . ucwords(get_content(27)) . ":</b> " . $email . "<br />";
    $message1 .= "<b>" . ucwords(get_content(1258)) . ":</b> " . $comments . "<br />";
    $message1 .= "</p>\n";
    $message1 .= get_content(893); // King Regards, 
    $message1 .= "<br /><br />";
    $message1 .= "<img src=\"***********\" alt=\"*******\">";
    $message1 .= "<br />";
    $message1 .= "</div>";

    //SEND CUSTOMER AN EMAIL
    // EMAIL TITLE
    $subject2 = get_content(392);

    //message
    $message2 = "<style type=\"text/css\">";
    $message2 .= "div { font-family: Arial, Verdana, Tahoma; font-size: 10pt; line-height: 120%; }";
    $message2 .= "h1 { margin: 0; font-size: 14pt; }";
    $message2 .= "h2 { margin: 0; font-size: 12pt; }";
    $message2 .= "span { font-size: 9pt; font-weight: bold; }";
    $message2 .= "</style>\n";
    $message2 .= "<div>";
    $message2 .= "<p>" . $name . ",</p>\n";
    $message2 .= "<p>" . get_content(392) . "</p>\n";
    $message2 .= "<p>" . str_replace("{TEL_NUMBER}", $header_branch_details[0]['Tel'], str_replace("{BRANCH_EMAIL}", $header_branch_details[0]['SalesEmail'], get_content(2764))) . "</p>\n";
    $message2 .= get_content(893); // King Regards, 
    $message2 .= "<br /><br />";
    $message2 .= "<img src=\"*********\" alt=\"*********\">";
    $message2 .= "<br />";
    $message2 .= "</div>";

    //Send branch email
    $success = mail('***@****.com', $subject, $message1, $headers); 
    //Send customer email
    $success2 = mail($email, $subject2, $message2, $headers);

    if (!$success) {
       $status = 0;
    }   
    echo $status;
}

函数quickContact(){
$.ajax({
类型:“POST”,
url:“quick contact.php”,
数据:
{
名称:$('#name').val().trim(),
电子邮件:$('#email').val().trim(),
注释:$(“#注释”).val().trim(),
},            
成功:函数(html){
提交的变量=$.trim(html);
如果(已提交){
提醒(“感谢您的提交”);
$('quick_contact')[0]。重置();
返回;
}否则{
警报(“提交失败”);
返回false;
}
}
});         
};
这是一个PHP,它在一个名为“quick-contact.PHP的文件中处理邮件方面的内容,在Thomas的回答中再次更新:

<script type="text/javascript">
    function quickContact(){
        $.ajax({
        type: "POST",
        url: "quick-contact.php",
        data:
             {
                 name: $('#name').val().trim(),
                 email: $('#email').val().trim(),
                 comments: $('#comments').val().trim(),                 
             },            
        success: function(html) {
                     var submitted = $.trim(html);
                     if (submitted) {
                         alert("Thanks for your submission");
                         $('#quick_contact')[0].reset();
                         return;
                     } else {
                         alert("Failed to submit.");
                         return false;
                }
        }
    });         
};
</script>
if(isset($_POST) == true){
    $status = 1 // init to one, assume there will not be an error
    //Store the entered values in the variables
    $name = mysql_escape_string(trim($_POST['name']));
    $email = mysql_escape_string(trim($_POST['email']));
    $comments = mysql_escape_string(trim($_POST['comments']));
    $comments = str_replace('\r\n','<br>',$comments);

    // EMAIL HEADERS
    $headers = "MIME-Version: 1.0\n";
    $headers .= "Content-type: text/html; charset=utf-8\n";
    $headers .= "X-Priority: 3\n";
    $headers .= "X-MSMail-Priority: Normal\n";
    $headers .= "X-Mailer: php\n";          
    $headers .= "From: *****<*****@l*****>\n";

    //SEND EMAIL TO BRANCH
    // EMAIL TITLE
    $subject = $name . " " . get_content(3344);

    //message
    $message1 = "<style type=\"text/css\">";
    $message1 .= "div { font-family: Arial, Verdana, Tahoma; font-size: 10pt; line-height: 120%; }";
    $message1 .= "h1 { margin: 0; font-size: 14pt; }";
    $message1 .= "h2 { margin: 0; font-size: 12pt; }";
    $message1 .= "span { font-size: 9pt; font-weight: bold; }";
    $message1 .= "</style>\n";
    $message1 .= "<div>";
    $message1 .= "<p>" . $name . " " . get_content(3344) . "</p>\n";
    $message1 .= "<p>" . get_content(3345) . "</p>\n";
    $message1 .= "<p><b>" . ucwords(get_content(2869)) . ":</b> " . $name . "<br />";
    $message1 .= "<b>" . ucwords(get_content(27)) . ":</b> " . $email . "<br />";
    $message1 .= "<b>" . ucwords(get_content(1258)) . ":</b> " . $comments . "<br />";
    $message1 .= "</p>\n";
    $message1 .= get_content(893); // King Regards, 
    $message1 .= "<br /><br />";
    $message1 .= "<img src=\"***********\" alt=\"*******\">";
    $message1 .= "<br />";
    $message1 .= "</div>";

    //SEND CUSTOMER AN EMAIL
    // EMAIL TITLE
    $subject2 = get_content(392);

    //message
    $message2 = "<style type=\"text/css\">";
    $message2 .= "div { font-family: Arial, Verdana, Tahoma; font-size: 10pt; line-height: 120%; }";
    $message2 .= "h1 { margin: 0; font-size: 14pt; }";
    $message2 .= "h2 { margin: 0; font-size: 12pt; }";
    $message2 .= "span { font-size: 9pt; font-weight: bold; }";
    $message2 .= "</style>\n";
    $message2 .= "<div>";
    $message2 .= "<p>" . $name . ",</p>\n";
    $message2 .= "<p>" . get_content(392) . "</p>\n";
    $message2 .= "<p>" . str_replace("{TEL_NUMBER}", $header_branch_details[0]['Tel'], str_replace("{BRANCH_EMAIL}", $header_branch_details[0]['SalesEmail'], get_content(2764))) . "</p>\n";
    $message2 .= get_content(893); // King Regards, 
    $message2 .= "<br /><br />";
    $message2 .= "<img src=\"*********\" alt=\"*********\">";
    $message2 .= "<br />";
    $message2 .= "</div>";

    //Send branch email
    $success = mail('***@****.com', $subject, $message1, $headers); 
    //Send customer email
    $success2 = mail($email, $subject2, $message2, $headers);

    if (!$success) {
       $status = 0;
    }   
    echo $status;
}
if(isset($\u POST)==true){
$status=1//init to 1,假设没有错误
//将输入的值存储在变量中
$name=mysql\u escape\u字符串(trim($\u POST['name']);
$email=mysql\u escape\u字符串(trim($\u POST['email']);
$comments=mysql_escape_字符串(trim($_POST['comments']);
$comments=str_replace('\r\n','
',$comments); //电子邮件标题 $headers=“MIME版本:1.0\n”; $headers.=“内容类型:text/html;字符集=utf-8\n”; $headers.=“X优先级:3\n”; $headers.=“X-MSMail-Priority:正常\n”; $headers.=“X-Mailer:php\n”; $headers.=“发件人:*****\n”; //向分行发送电子邮件 //电子邮件标题 $subject=$name.“。获取内容(3344); //信息 $message1=“”; $message1.=“div{font-family:Arial、Verdana、Tahoma;字体大小:10pt;行高:120%;}”; $message1.=“h1{边距:0;字体大小:14pt;}”; $message1.=“h2{边距:0;字体大小:12pt;}”; $message1.=“span{font size:9pt;font-weight:bold;}”; $message1.=“\n”; $message1.=“”; $message1.=“”“$name.”。获取内容(3344)。“

\n”; $message1.=“”。获取内容(3345)。“

\n”; $message1.=“”.ucwords(获取内容(2869))。:“$name。”
”; $message1.=''.ucwords(获取内容(27)):“$email.”
; $message1.=''.ucwords(获取内容(1258))。:“$comments.”
; $message1.=“

\n”; $message1.=获取内容(893);//国王问候, $message1.=“

”; $message1.=“”; $message1.=“
”; $message1.=“”; //向客户发送电子邮件 //电子邮件标题 $subject2=获取内容(392); //信息 $message2=“”; $message2.=“div{字体系列:Arial、Verdana、Tahoma;字体大小:10pt;行距:120%;}”; $message2.=“h1{边距:0;字体大小:14pt;}”; $message2.=“h2{边距:0;字体大小:12pt;}”; $message2.=“span{font size:9pt;font-weight:bold;}”; $message2.=“\n”; $message2.=“”; $message2.=“”、“$name.”、

\n”; $message2.=“”。获取内容(392)。“

\n”; $message2.=“”.str\u replace(“{TEL\u NUMBER}”,$header\u branch\u details[0]['TEL'],str\u replace(“{branch\u EMAIL}”,$header\u branch\u details[0]['saleseemail'],get\u content(2764))。“

\n”; $message2.=获取内容(893);//国王问候, $message2.=“

”; $message2.=“”; $message2.=“
”; $message2.=“”; //发送分支机构电子邮件 $success=mail(“***@****.com”、$subject、$message1、$headers); //发送客户电子邮件 $success2=邮件($email、$subject2、$message2、$headers); 如果(!$success){ $status=0; } echo$状态; }

抱歉,代码太多了,我真的希望有人能在这里帮助我

将提交类型更改为按钮类型,并使用调用doSomething()的onClick事件

然后,让doSomething()运行ajax调用,如下所示:

function doSomething() {
    $.ajax({
         type: 'post',
         url: 'quick-contact.php',
         data:
         {
             name: $('#name').val().trim(),
             email: $('#email').val().trim(),
             comments: $('#comments').val().trim(),                 
         },
         success: function(html) {
             var status = $.trim(html);
             if (status) {
                 alert("Thanks for your submission");
                 $('#quick_contact')[0].reset();
                 return;
             } else {
                 alert("Failed to submit.");
                 return false;
             }
         }
    });
 }
然后在PHP中,只需检查$u POST是否已设置

 if (($_POST)) {
     $status = 1; // init to one, assume there will not be an error
     $name = $_POST['name'];
     //etc, but FILTER the data coming from the client
 }
此外,您可能希望在mail()函数附近执行以下操作:

$success = mail(//etc);
if (!$success) {
   $status = 0;
}

echo $status;

如果您还有问题,请告诉我。我很乐意提供帮助。

在您的PHP If语句中(If(isset($\u POST['quick\u submit']))你检查了quick_submit param,但我在你的javascript代码中找不到它。它在哪里?你不应该让数据字符串成为一个对象而不是一个实际的字符串吗?那里的格式更常用于GET请求。你有什么实际问题?有错误消息吗?@AlexBor PHP检查submit按钮,jquery检查subm实际表单的ission。提交表单时应触发javascript。@我不知道字符串上的dataString是否正确,但没有错误消息,页面只是重新加载,没有发生任何事件。我尝试在“e.preventDefault()上方的函数(e)顶部粘贴警报;“但它甚至不这样做。但是如果我把警报放在这里:$(“#快速联系”)。提交(警报('hello')函数(e){”然后它会发出警报。我也不知道为什么你不需要“提交”按钮。将其更改为常规按钮。即,然后使用doSubmission()执行ajax调用。好的,我使用了你的答案,现在如果我在函数顶部添加了一个警报,则该函数为does alert。但没有其他情况发生。我的代码与你的代码匹配,但发生的只是页面重新加载,仅此而已。我需要发送电子邮件并重置表单,而不需要重新加载页面。页面在任何时候都不应重新加载。我正在编辑我的问题