2017-03-16 9 views
0

我的目标是使用php将表单数据作为电子邮件发送,表单div应该被另一个div取代。我已经完成了使用jquery隐藏div部分,但无法发送和发送电子邮件。我也写了代码发送电子邮件,但我的问题是如何调用具有电子邮件发送代码的文件。在表单提交中隐藏表单diva并使用jQuery发送电子邮件

我的表单代码:

<form method="post" id="formsub"> 
    <div id="form"> 
     <div class="form-group"> 
      <input type="text" name="name" class="form-control" id="name" placeholder="Name" required> 
     </div> 

     <div class="form-group"> 
      <input type="text" name="email" class="form-control" id="email" placeholder="Email" required> 
     </div> 

     <div class="form-group"> 
      <input type="text" name="phone" class="form-control" id="phone" placeholder="Phone Number" required> 
     </div> 

     <div class="form-group"> 
      <input type="button" id="addbut" name="submit" value="Submit" class="form-control"> 
     </div> 
    </div> 
    </form> 

我的代码隐藏div和试图表单提交脚本:

<script> 
    $(document).ready(function() { 
     $("#addbut").on('click', function() { 
     $.ajax({ 
      type: "POST", 
      url: "fromemail.php", 
      data: $(form).serialize(), 
      success: function(){ 
      $("#form").hide(); 
      $("#address").show(); 
      } 
     }); 
     }); 
    }); 
</script> 

我的PHP电子邮件发送代码:

<?php 
    if($_POST['submit']){ 
     $to = "[email protected]"; // this is your Email address 
     $from = $_POST['email']; // this is the sender's Email address 
     $name = $_POST['name']; 
     $phone = $_POST['phone']; 
     $subject = "Spots Contact"; 
     $message = $first_name . ", with " . $phone . "has enquired for the service"; 

     $headers = "From:" . $from; 

     mail($to,$subject,$message,$headers); 

     if(mail($to,$subject,$message,$headers)) 
     { 
      echo "<script>alert('We will contact you shortly');</script>"; 
     } 
    } 

?> 
+0

我需要一个解决方案不能修改建议。请紧急 – Akhil

+0

您遇到什么错误?你是否在“fromemail.php”文件中获得发布数据? –

+0

我没有收到错误,我无法调用文件fromemail.php。如何使用脚本 – Akhil

回答

0

给文件名形式动作属性:

<form id="formsub" method="post" action="fromemail.php"> 

,做AJAX代码:

$(document).ready(function(){ 
    var form=$("#formsub"); 
    $("#addbut").click(function(){ 
    $.ajax({ 
     type:"POST", 
     url:form.attr("action"), 
     data:$("#formsub").serialize(), 
     success: function(response){ 
      console.log(response); 
     } 
    }); 
}); 
}); 
+0

我在控制台出现错误:无法加载资源:net :: ERR_CONNECTION_TIMED_OUT – Akhil

+0

错误是因为没有获取文件。尝试使用您的项目的基础URL给路径。 var base_url =“http:// localhost/projectname /”。然后url在ajax中作为base_url +“filename.php” –

+0

这是我得到的错误:POST http://www.3ding.in/spots/fromemail.php net :: ERR_CONNECTION_TIMED_OUT send @ jquery-2.2.1.min .js:4 ajax @ jquery-2.2.1.min.js:4 (匿名)@ designkari:477 dispatch @ jquery-2.2.1.min.js:3 r.handle @ jquery-2.2.1 .min.js:3 – Akhil

0

@Rakhi ..

这是正确的?

<script type="text/javascript" src="assets/js/jquery-2.2.1.min.js"></script> 
<script> 


    $(document).ready(function() { 
    var form=$("#formsub"); 
    var base_url = "www.3ding.in/spots/"; 
    $("#addbut").on('click', function() { 

    $("#form").hide(); 
     $("#address").show(); 

    $.ajax({ 
     type: "POST", 
     url: base_url + "fromemail.php", 
     data: $("#formsub").serialize(), 
     success: function(response){ 
     alert(1); 
     console.log(response); 


     } 






    }); 



    }); 


}); 

+0

是的,它的正确,用于查找** base_url **使用: - “<?php echo”http://“。$ _SERVER ['SERVER_NAME']。$ _SERVER ['REQUEST_URI']; ?>“并尝试给出正确的文件路径(fromemail.php)。 –

+0

请参阅此链接以获得更多理解(http://stackoverflow.com/questions/15300470/jquery-ajax-form-using-mail-php-script-sends-email-but-post-data-from-html-fo ) –

相关问题