日期:2014-05-20  浏览次数:20777 次

js验证码判断
怎么判断验证码输入的值和session中的值是否相等呢?一个是表单提交的,一个是session中的
JScript code

<script language="javascript">
    function check() {
        var code = document.getElementsByName("session").value;
        var input = document.getElementsByName("code").value;
        if(code != input) {
            alert("验证码不正确");
            return false;
            
        } else {
            return true;
        }
    }
</script>



Java code

<form action="index.jsp" method="post">

<input type="hidden" name="session" value="<%=session.getAttribute("zaokurand").toString()%>" />
<div> 
验证码:<input style="HEIGHT: 18px" size="8" maxlength="4" type="text" name="code" id="code" />
<span id="rand_img" style="display:block;"> </span> 
<input type="button" id="button" value="提交" onclick="return check();"/>
</div>
</form>



------解决方案--------------------
楼主可以查看页面的源码 看你的hidden里面是否已经取到值了,而且名字换下吧。比如 zaokurand,其次,楼主既然用了form 那么取得值的时候 直接document.form1.code.value、document.form1.zaokurand.value取值就行。没必要用getElementsByName,这个可能返回的是数组.