简体   繁体   English

Ajax联系表格不起作用

[英]Ajax contact form not working

I am working on a website with an Ajax contact form. 我正在使用Ajax联系表的网站上工作。 Tried a lot, it successfully sends a mail without headers below is my code please help me to fix this 尝试了很多,它成功发送了没有标题的邮件,以下是我的代码,请帮助我解决此问题

code

        <div class="form">
          <div class="title">
            <h2 class="orange"><span class="orange">Contact</span> US</h2>
          </div>
          <div class="height15"></div>
          <div id="return_message"></div>
          <div class="field">
            <label>First Name:</label>
            <input name="name" type="text" />
          </div>
          <div class="field">
            <label>Phone Number:</label>
            <input name="phone" type="text" />
          </div>
          <div class="field">
            <label>Email Address:</label>
            <input name="email" type="text" />
          </div>
          <label>Message:</label>
          <textarea name="message" cols="" rows=""></textarea>
          <div class="clear"></div>
          <a class="org_btn more submit"  id="submit" href="#.">Submit</a> </div>

          <script language="javascript">
        $(document).ready(function() {
            $("#menu_btn").click(function(){
            $("#sub_menu").slideToggle("slow");
          });


          //Contact us form validation
          $('#return_message').hide();
          $('#submit').click(function(event){

              var name = $('#name').val();
              var phone = $('#phone').val();
              var email = $('#email').val();
              var message = $('#message').val();

              if( (name=='') || (phone=='') || (email=='') || (message=='') )
              {
                  $('#name').addClass('error_active');
                  $('#phone').addClass('error_active');
                  $('#email').addClass('error_active');
                  $('#message').addClass('error_active');
              }
              else
              {
                  var regex = /^([a-zA-Z0-9_\.\-\+])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/;

                  if(!regex.test(email)) 
                  {
                     alert("Please Enter valid email address"); 
                     $('#email').addClass('error_active');
                  }
                  else
                  {


                    $.ajax(
                    {
                        type: 'POST',
                        data: ({name : name, phone : phone, email : email, message : message}),
                        url: 'send_mail.php',
                        success: function(data)
                        {

                            if(data)
                            {
                                $('#return_message').show('slow').html("<p>Email has been sent...</p>");

                                $('#name').val('');
                                $('#phone').val('');
                                $('#email').val('');
                                $('#message').val('');

                                 $('#name').removeClass('error_active');
                                 $('#phone').removeClass('error_active');
                                 $('#email').removeClass('error_active');
                                 $('#message').removeClass('error_active');
                            }
                            else
                            {
                                $('#return_message').show('slow').html("<p>Email has not been sent...</p>");
                            }
                        }
                    });              
                  }
              }
              });
        });
</script>

php code PHP代码

<?php
$name    = $_POST['name'];
$email    = $_POST['email'];
$phone   = $_POST['phone'];
$message = $_POST['message'];

$to = "info@kodspider.com";  // Please put your email addres.
$subject = "Marthoman Vidyapeedom"; //Please put subject of your email.
if($phone!='')
{
    $message2 = $message.'\r\nPhone:'.$phone;
}
else
{
    $message2 = $message;
}
$message = $message.'\r\nPhone:'.$phone;
$headers = "From: ".$email;
$sent = mail( $to, $subject, $message2, $headers );
if($sent)
{
    echo "success";
}
else
{
    echo "error";
}

?>

you have given 你给了

<input name="name" type="text" />

but in jquery your calling 但是在jQuery中你的电话

$('#name').val('')

in jquery # selector is used only for id 在jQuery#选择器仅用于ID

make change 做出改变

<input name="name" id="name" type="text" />

for more details in jquery read this 有关jquery的更多详细信息, 请阅读此内容

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM