我有mail.php发送电子邮件。这是我正在使用的代码。
<?php
if(isset($_POST['submit'])){
$to = $_POST['email'];
$subject = 'Your Results!';
$message = $_POST['message'];
$headers = 'From: example@example.com' . "\r\n" .
'Reply-To: example@example.com' . "\r\n" .
'X-Mailer: PHP/' . phpversion();
//mail($to, $subject, $message, $headers);
//header("Location: thankyou.php");
echo $message;
}
?>
电子邮件的内容应该是我在index.php页面上的div的.innerText。如果我回显了消息,那么输出就会显示在页面上(mail.php)但是当我评论/取消注释必要的部分以通过电子邮件发送给我时,我收到的消息只是&#34;未定义&#34;。
$ message是否未定义?
以下是我使用
的表单和javascript<form action="mail.php" method="post" onsubmit="this.message.value = document.getElementById('box').innerText;">
<input type="email" name="email" required>
<input id="content" type="hidden" name="message" value="">
<input type="submit" name="submit">
</form>
答案 0 :(得分:2)
将.innerText
更改为.textContent
。 .innerText
是Firefox中不存在的非标准属性。
我不知道为什么在PHP脚本中使用echo $message
时没有遇到同样的问题,除非您使用不同的浏览器测试了该版本的脚本(总是尽量减少差异的数量)当你像这样测试时。)