我知道这个问题被问了很多,但没有一个解决方案对我有用!
请先阅读下面的编辑!
我对 PHP 比较陌生,我正在创建一个简单的联系表单:
HTML:
<form action="contactUsSuccess.php" id="contactForm" method="post" name="contactForm" onsubmit="return validateContactUs();">
<table>
<tr>
<td>
<input id="name" maxlength="70" name="name" placeholder="Name" type="text">
</td>
<td>
<input id="email" maxlength="255" name="email" placeholder="Email" type="text">
</td>
</tr>
<tr>
<td colspan="2">
<textarea id="message" maxlength="5000" name="message" placeholder="Message"></textarea>
</td>
</tr>
<tr>
<td colspan="2" id="submitArea">
<input id="submitButton" type="submit" value="Send">
</td>
</tr>
</table>
</form>
PHP,它在另一个页面上。
<?php
$success = false;
$name = $_POST["name"];
$email = $_POST["email"];
$message = $_POST["message"];
$to = "----@gmail.com";
$subject = "New Contact Message - ----";
$messageMail = "From: " . $name . "(" . $email . ")" . " | Message: " . $message;
$header = "From: ----@gmail.com";
if(mail($to, $subject, $messageMail, $header)) {
$success = true;
}
?>
我的错误:
Notice: Undefined index: name in Z:\Documents\Workspace\----\help\contactUsSuccess.php on line 6
Notice: Undefined index: email in Z:\Documents\Workspace\----\help\contactUsSuccess.php on line 7
Notice: Undefined index: message in Z:\Documents\Workspace\----\help\contactUsSuccess.php on line 8
如您所见,我的表单onsubmit
执行 JavaScript,它只返回 true 或 false。如果您认为出于任何原因可能是这不起作用的原因,请询问。
此外,我尝试了上面显示的相同 PHP 代码,并将其放在与原始 HTML 相同的文件中(并且还用isset
if 语句将其包围......不走运。
哦,电子邮件仍然发送......它只是发送:
来自: () | 信息:
编辑:所以它是 JavaScript!这是它的主要部分:
if (!(nameLen > 0 && nameLen <= 70 && emailLen > 0 && emailLen <= 255 && messageLen > 0 && messageLen <= 5000)) {
cont = false;
} else {
name.disabled = "true";
email.disabled = "true";
message.disabled = "true";
document.getElementById("submitButton").disabled = "true";
}
if (cont) {
return true;
} else {
return false;
}
}
当我删除 3--.disabled = "true";
时,它起作用了!但是,我确实将它们放在那里是有原因的。有替代方案吗?我想这就是我现在要问的......