2012-08-25 85 views
0

對不起,我對AJAX很陌生,當我有很多示例的時候,我很難理解。如果你可以請我幫助我的具體例子,我非常感激。 AJAX語法對我來說很奇怪。無論如何,我正在驗證JavaScript中的聯繫表單。如果它的每個字段都有值,那麼就是調用頁面中包含的php函數來發送電子郵件。有人能告訴我如何做到這一點,並解釋它嗎? AJAX如何工作讓我非常困惑。服務器/客戶端差異?抱歉。謝謝。這裏是我的代碼(即失敗不使用AJAX):使用ajax從javascript/jquery調用php函數

<?php 
     require_once("mail.php"); 
    ?> 
    <script language='Javascript' type='text/javascript'> 
     function validation(){ 
      var name = document.getElementById('name').value; 
      var email = document.getElementById('email').value; 
      var phone = document.getElementById('phone').value;    
      var subject = document.getElementById('subject').value; 
      var message = document.getElementById('message').value; 

      if (name == '') { 
       alert('Please enter your name.'); 
       location.reload(false); 
      } 
      else { 
       if (email == '') { 
        alert('Please enter your email.'); 
        location.reload(false); 
       } 
       else { 
        if (phone == '') { 
         alert('Please enter your phone number.'); 
         location.reload(false); 
        } 
        else { 
         if (subject == '') { 
          alert('Please enter a subject.'); 
          location.reload(false); 
         } 
         else { 
          if (message == '') { 
           alert('Please enter a message.'); 
           location.reload(false); 
          } 
          else { 
           var send = confirm('Name: ' + name + '\r\nEmail: ' + email + '\r\nPhone: ' + phone + 'Subject: ' + subject + '\r\nMessage:\r\n' + message + '\r\nPress [Ok] to send or [Cancel] to return to the contact page.'); 
           if (send) { 
            window.location=''; 
           } 
           else { 
            location.reload(false); 
           } 
          } 
         } 
        } 
       } 
      } 
     } 
    </script> 

我知道的JavaScript工作到哪裏,我需要調用PHP的sendmail()函數的一部分。感謝您的幫助和支持!

+2

試試jQuery sendmail插件... –

+0

你是什麼意思「失敗,不使用Ajax」?並請向我們展示您的阿賈克斯努力,我們應該幫助您 – Bergi

+0

我沒有努力,AJAX令我感到困惑,我在尋求幫助。 – eatonphil

回答

2

Javascript在服務器端的客戶端(瀏覽器),PHP上執行。 所以你不能從javascript調用服務器端函數;你必須發送你的客戶端數據(電子郵件,電話等)與HTTP獲取/發佈到服務器(使用AJAX,FORMS或任何你想要的),然後當你的服務器端PHP腳本接收到數據時,你可以準備發送郵件並調用sendmail()函數。