0

我正在使用mail()in 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 = "Example@yahoo.com"; 
            $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: skywalker@msn.com';
            if (mail($to, $subject, $body, $headers)) { 
                echo("<p>Message sent!</p>"); 
            } else { 
                echo("<p>Message delivery failed...</p>"); 
            } 
        ?> 
    </body>
</html>
4

3 回答 3

1

简短的回答是你不能。邮件客户端剥离 JS

只需坚持适用于大多数邮件客户端的纯 HTML 和 CSS。

于 2012-11-11T04:52:20.743 回答
1

您正在尝试发送电子邮件,而您的 javascript 在您的网站上。当他们打开消息时,他们会看到该消息,但不会得到任何 javascript,因为您一开始没有将它包含在消息中。

您可以做的是修复您的代码以在消息中与正文一起发送 jQuery。从理论上讲,这是可行的。实际上,这也行不通,因为大约 99% 的电子邮件服务(100% 的所有最常用的)都会剥离 javascript 标签,因为它们可能是恶意的。因此,与其花时间在电子邮件中进行切换,不如花时间尝试让用户访问您的网站。

于 2012-11-11T04:52:30.740 回答
0

jQuery 是客户端语言,PHP 是服务器端,实现这一点的可能方法是通过使用 jQuery(使用 Ajax)请求具有邮件功能的 PHP 页面,然后更改 html 以显示/隐藏结果(错误或成功)在 PHP 响应时。

在这篇文章中阅读有关此主题的更多信息jQuery/PHP mail send the easy way?

于 2012-11-11T04:52:18.020 回答