我在php中使用mail()
,并想知道是否可以包含事件监听器。下面包含带有按钮的代码,该按钮在单击时会显示段落滑动。然而,没有任何事情发生。
<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>
答案 0 :(得分:1)
简短的回答是你不能。邮件客户端剥离JS
坚持使用适用于大多数邮件客户端的纯HTML和CSS。
答案 1 :(得分:1)
您正在尝试发送电子邮件,并且您的javascript在您的网站上。当他们打开邮件时,他们会看到邮件,但是没有获得任何javascript,因为你首先没有将它包含在邮件中。
您可以做的是修复您的代码,以便在消息中随身体发送jQuery。在理论上,这将工作。实际上,这不会起作用,因为大约99%的电子邮件服务(占所有最常用的服务的100%)剥离javascript标签,因为它们可能是恶意的。因此,不要花时间在电子邮件中进行切换,而是花时间尝试让用户访问您的网站。
答案 2 :(得分:0)
jQuery是客户端语言,PHP是服务器端,实现这一点的可能方法是通过jQuery(使用Ajax)请求具有mail函数的PHP页面,然后更改html以显示/隐藏结果(错误或成功)PHP响应。
中详细了解此主题