【问题标题】:Send info with ajax to submit.php使用 ajax 发送信息到 submit.php
【发布时间】:2013-08-25 21:10:31
【问题描述】:

大家好,这几天我一直在玩这个 ajax 调用。我之前让它发布了一封没有变量的电子邮件,但现在我无法接到提交带有变量或没有变量的表单的调用。这是我的代码:

      <form id="contactform" method="post" action="submit.php">

          <input type="text" placeholder="Name" name="username" id="username" />

          <input type="email" placeholder="Your Email Address" name="email" id="email" />

          <input type="button" id="submit" class="submit" value="submit"></a>

      </form>

AJAX:

<script type="text/javascript">
  $("#submit").click(function(event){
   var data = $('#contactform').serialize();
   event.preventDefault();
     $.ajax({
         url: "submit.php",
         type: "POST",
         data: data,
         success: function() {                        
             alert("Success!");        
         }
       }); 
     return false; 
   });
 });
</script>

提交.php:

<?php
    $from = "info@email.com";
    $usersubject = "Thank You!";
    $usermessage = "Thank you for signing up!";
    $to = $_REQUEST['email'];
    $subject = "Form Info";
?>

<?php
    $name = $_REQUEST['username'];
    $email = $_REQUEST['email'];
    $message = "Name: $name
    Email: $email";
    $headers = "From:" . $from;
    //mail($to,$subject,$message,$headers);
    mail($email,$usersubject,$usermessage,$headers);
    echo 'Success';
?>

submit.php 在您使用变量 (www.website.com/submit.php?username=Dave&email=davesemail@mail.com) 直接访问时有效。这里的某个地方有我遗漏的错误吗?任何帮助表示赞赏!

【问题讨论】:

  • 这个额外的});,是因为你错过了在这个问题中包含document.ready,还是在你的实现中是这样的?

标签: php ajax forms email return


【解决方案1】:

这是你想要的,但你应该了解 Json。 数据={ “姓名”:“詹姆斯邦德”,“电子邮件”:“AGENT007@MI5.gov” }

【讨论】:

    【解决方案2】:

    如果您不使用文档就绪块:

    $( document ).ready(function() {
      // your code here
    });
    

    然后确保将 javascript 代码放在结束正文标记 () 之前。 否则,如果您在没有准备好文档的情况下将 javascript 放在标题中,则 javascript 代码将在页面上出现提交按钮之前执行,因此 $('#submit') 选择器将返回零个元素。

    【讨论】:

      【解决方案3】:

      HTML:

           <form  method="post" action="submit.php">
      
           <input type="text" placeholder="Name" name="username" id="username" />
      
           <input type="email" placeholder="Your Email Address" name="email" id="email" />
      
           <input type="button" onClick="submit()" value="submit"></a>
      
           </form>
      

      AJAX:

           <script type="text/javascript">
        function submit(){
        var user = document.getElementById("username").value;
        var email = document.getElementById("email").value;
           $.ajax({
           url: "submit.php",
           type: "POST",
           data: {uname:user,email:email},
           success: function() {                        
               alert("Success!");        
           }
            }); 
           return false; 
         }
         </script>
      

      PHP:

           <?php
          $from = "info@email.com";
          $usersubject = "Thank You!";
          $usermessage = "Thank you for signing up!";
          $to = $_POST['email'];//one that assigned to data in ajax
          $subject = "Form Info";
            ?>
      
          <?php
           $name = $_POST['uname']; //one that assigned to data in ajax
           $email = $_POST['email'];//one that assigned to data in ajax
           $message = "Name: $name
           Email: $email";
           $headers = "From:" . $from;
          //mail($to,$subject,$message,$headers);
          mail($email,$usersubject,$usermessage,$headers);
           echo 'Success';
           ?>
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2019-02-23
        • 2015-06-27
        • 1970-01-01
        • 1970-01-01
        • 2013-05-31
        • 1970-01-01
        • 2015-02-06
        • 1970-01-01
        相关资源
        最近更新 更多