怎么判断验证码输入的值和session中的值是否相等呢?一个是表单提交的,一个是session中的<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><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>

解决方案 »

  1.   

    session和输入验证码 不会获取?
      

  2.   

    <input type="hidden" name="session" value="<%=session.getAttribute("zaokurand").toString()%>" />
    改成
    <input type="hidden" name="session" value="<%=request.getSession().getAttribute("zaokurand").toString()%>" />
    试试看
      

  3.   


    <script language="javascript">
        function check() {
            var code = document.getElementsByName("session").value;//断点1
            var input = document.getElementsByName("code").value;//断点2
            if(code != input) {
                alert("验证码不正确");
                return false;
                
            } else {
                return true;
            }
        }
    </script>
    用F12键查看一下code 和input的值
      

  4.   

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