【问题标题】:On form submission hide the form diva and send an email using jQuery在提交表单时隐藏表单 diva 并使用 jQuery 发送电子邮件
【发布时间】:2017-08-07 03:43:10
【问题描述】:

我的目标是使用 php 将表单数据作为电子邮件发送,并且表单 div 应该被另一个 div 替换。我已经使用 jquery 隐藏了 div 部分,但无法发送和发送电子邮件。我还编写了发送电子邮件的代码,但我的问题是如何调用具有电子邮件发送代码的文件。

我的表单代码:

<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 = "akhil@redd.xyz"; // 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>";
       }
    }

?>

【问题讨论】:

  • 我需要一个解决方案而不是编辑建议。请加急
  • 您遇到什么错误?您是否在“fromemail.php”文件中获取帖子数据?
  • 我没有收到错误我无法从email.php 调用文件。如何使用脚本来做到这一点
  • 请检查下面的代码。它仍然无法正常工作。现在我没有回复@RakhiPrajapati

标签: javascript php jquery html forms


【解决方案1】:

在表单动作属性中给出文件名:

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

【讨论】:

  • 我在控制台中遇到错误:无法加载资源:net::ERR_CONNECTION_TIMED_OUT
  • 错误是因为没有获取文件。尝试使用项目的基本 url 提供路径。 var base_url = "localhost/projectname"。然后 ajax 中的 url 作为 base_url+"filename.php"
  • 这是我得到的错误: POST 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
【解决方案2】:

@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);


        }






    });



    });


}); 

【讨论】:

猜你喜欢
  • 2016-08-01
  • 1970-01-01
  • 2019-04-24
  • 2016-11-23
  • 1970-01-01
  • 1970-01-01
  • 2015-03-28
  • 2016-07-26
相关资源
最近更新 更多