我试图验证使用PHP制作的附加验证码但我尝试的所有内容都会弄乱验证并且根本不验证。验证码将显示2个随机数和一个测试字段,用户可以将正确的数字添加到提供的总和中。我尝试过各种各样的东西,但所有这些都只是停止了表格的验证。
<div class="Row">
<div class="Lable">First Name:</div> <!--End of Lable-->
<div class="input">
<input type="text" id="firstname" class="detail" name="firstname" placeholder="First Name" />
</div> <!--End input-->
</div> <!--End row-->
<br />
<div class="Row">
<div class="Lable">Second Name:</div> <!--End of Lable-->
<div class="input">
<input type="text" id="secondname" class="detail" name="secondname" placeholder="Second Name" />
</div> <!--End input-->
</div> <!--End row-->
<br />
<div class="Row">
<div class="Lable">Email Address:</div> <!--End of Lable-->
<div class="input">
<input type="text" id="emailaddress" class="detail" name="emailaddress" placeholder="Email Address" />
</div> <!--End input-->
</div> <!--End row-->
<br />
<div class="Row">
<div class="Lable">Your Message:</div> <!--End of Lable-->
<div class="input">
<textarea id="comment" name="comment" class="mess" placeholder="Your Message" minlength="10"></textarea>
</div> <!--End input-->
</div> <!--End row-->
<br />
<input id="number1" name="number1" readonly="readonly" class="Add" value="<?php echo rand(1,4) ?>" /> +
<input id="number2" name="number2" readonly="readonly" class="Add" value="<?php echo rand(5,9) ?>" /> =
<input type="text" name="captcha" id="captcha" class="captcha" maxlength="2" />
<span id="spambot">(Are you human, or spambot?)</span>
<br />
<div class="submit">
<input type="submit" id="send" Name="send" value="Send" />
</div><!--End of submit-->
<div class="Clear">
<input type="reset" id="clear" Name="Clear" value="Clear" />
</div>
JavaScript验证
if (Contact.firstname.value == "")
{
alert("Please enter your first name");
return false;
}
if (Contact.secondname.value == "")
{
alert("Please enter your second name");
return false;
}
else if (Contact.emailaddress.value.indexOf('@') < 1 )
{
alert("Please enter your email correctly");
return false;
}
if (Contact.comment.value == "")
{
alert("Please enter your message");
return false;
}
return true;
}
//-->
</script>
我知道此处没有进行验证尝试,但请相信我在发布之前先试了一下,但没有运气。
答案 0 :(得分:1)
首先......这是一种糟糕的方法,从经验来看,重新发明轮子是不值得的!
如果你有能力使用jQuery我会建议一个验证插件,就像这个(我已经使用了多年)http://jqueryvalidation.org/
它有非常好的文档,你可以扩展它以包括你添加的数字(我知道我在过去做过类似的事情)!
此外,它拥有相当庞大的用户群,您会在这里找到许多问题,其答案将帮助您找出问题所在!
++您可以选择显示表单字段旁边的每个错误,或者将错误警告()给用户