2012-11-11 29 views
0

我在php中使用mail(),並想知道是否可以包含事件監聽器。下面的代碼包含一個按鈕,用於在單擊時使段落滑動。然而,沒有任何反應。可能將jQuery添加到php郵件功能

<html> 
    <head> 
     <script type="text/javascript"src="js/jquery.js"></script> 
     <script type="text/javascript" src="js/jquery-ui.js"></script> 
     <script type='text/javascript'> 
      $(function() { 
       $(':button').click(function(){ 
        $("p").slideToggle(); 
       }); 
      }); 
     </script> 
    </head> 
    <body> 
     <?php 
      $to = "[email protected]"; 
      $subject = "Maybe so??"; 
      $body = "<p>Yeppir </p> 
      <button>Click Me </button>"; 
      $headers = 'MIME-Version: 1.0' . "\r\n"; 
      $headers .= 'Content-type: text/html; charset=iso-8859-1' . "\r\n"; 

      $headers .= 'From: [email protected]'; 
      if (mail($to, $subject, $body, $headers)) { 
       echo("<p>Message sent!</p>"); 
      } else { 
       echo("<p>Message delivery failed...</p>"); 
      } 
     ?> 
    </body> 
</html> 
+0

你知道PHP運行服務器端,而JQuery運行客戶端,所以在不同位置的完全不同的機器上? – jbx

+0

如果用戶可以通過網站在其他計算機上運行javascript ...請使用JS發送郵件,並在名爲** XSS **的其他計算機上運行** –

回答

1

您正在嘗試發送電子郵件,並且您的JavaScript在您的網站上。當他們打開郵件時,他們會看到該郵件,但沒有得到任何JavaScript,因爲您並沒有將其包含在郵件中。

你可以做的就是修正你的代碼,在消息中發送jQuery和body。理論上可行。實際上,這不適用於大約99%的電子郵件服務(100%是所有最常用的郵件服務),因爲它們可能是惡意的。因此,不要花時間在電子郵件中切換,而是花時間嘗試讓用戶訪問您的網站。

+0

**,而不是花時間在電子郵件中切換,花費試圖讓用戶訪問您的網站。**碰到指甲。 – itachi

0

jQuery是客戶端的語言,PHP是一個服務器端,可能的方式來實現這一目標是通過要求其具有與jQuery(使用Ajax),然後將郵件功能的PHP頁面更改HTML顯示/隱藏PHP響應的結果(錯誤或成功)。

閱讀更多關於這個話題在這個崗位jQuery/PHP mail send the easy way?

1

簡短的回答是你不能。郵件客戶端去除JS

只需堅持使用普通的HTML和CSS在大多數郵件客戶端上工作。