我一直试图在我的网站上提出建议表格,但我不能成功! 这是我的代码
<div class="suggest" id="suggest">
<center>
<span class="title">Suggest a Game</span>
<br>
<br>
<form action="suggest.php" method="get">
<input type="text" class="suggestion" id="suggestion" name="suggestion">
<input onclick="validate()" type="submit" value="Send" class="send">
</form>
<br>
<center>
<span id="validator"></span>
</center>
</div>
和PHP(suggest.php):
<?php
if (isset($_REQUEST['suggestion'])) {
//Email information
$admin_email = "greglypet@gmail.com";
$suggest = $_REQUEST['suggestion'];
$subject = "Game Suggestion:";
//send email
mail($admin_email, "$subject", "$suggest" );
echo }
else {
?>
Javascript(验证):
function validate() {
var text = document.getElementById("suggestion").innerHTML;
if (text.length > 4) {
document.getElementById("validator").style.color = "lightgreen" ;
document.getElementById("validator").innerHTML = "Thanks for the suggestion" ;
}
if (text.length < 4) {
document.getElementById("validator").style.color = "red" ;
document.getElementById("validator").innerHTML = "Input is too sort" ;
}
}
我做错了什么!我是php的总菜鸟,所以请帮忙!
我想要的是使用validatetrue()和validatefalse()验证文本输入长度,但它似乎无法正常工作!
答案 0 :(得分:0)
在您的js-function validate()
中,您现在拥有:
var text = document.getElementById("suggestion").innerHTML;
但是输入没有这个属性/属性,所以它总是返回undefined(因此小于4)。
要获取输入文本,请使用value
:
var text = document.getElementById("suggestion").value;