2013-09-03 2 views
0

Я работаю на сайте с формой для контакта Ajax. Пробовал много, она успешно посылает почты без заголовков ниже мой код, пожалуйста, помогите мне исправить этуКонтактный формуляр Ajax не работает

код

 <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

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

$to = "[email protected]"; // 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"; 
} 

?> 
+0

, какой заголовок вы спрашиваете. .? –

+0

Если он отправляет сообщение без заголовков, я предполагаю, что проблема будет в 'send_mail.php' –

+0

проверить вопрос снова, я обновил его с помощью send_mail.php –

ответ

4

вы дали

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

но в JQuery свое призвание

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

в JQuery # селектор используется только для идентификатора

изменения делают

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

для более подробной информации в JQuery read this

+1

Хорошо заметили Ник. Я думаю, что тот, кто задавал вопросы, был отправлен, но ни один из заголовков не выбрасывал этот один трек. –

+0

Вы правы, теперь он работает благодаря ............. –