<input type="checkbox" id="needmemberpwd" name="needmemberpwd"  value="0" onClick="checkmemberof(this)"  class="checkstyle">
<input type="checkbox" id="needmemberpwd" name="needmemberpwd"  value="1" onClick="checkmemberof(this)"  class="checkstyle">当用request.getparameter("needmemberpwd"),value是1时,得到的是1,是0时得到的不是0,确实null,这是怎么回事啊?

解决方案 »

  1.   

    checkbox是0的时候是没有选中,没选中的不会提交,所以getPara得到null就用 是否null 来判断有没有选中就好了
      

  2.   

    测试了一下没有你说的问题,如果只有一个checkbox
    <input type="checkbox" id="needmemberpwd" name="needmemberpwd"  value="0" onClick="checkmemberof(this)"  class="checkstyle"> 
    选中时request.getparameter("needmemberpwd")得到的是0,没选择得到是NULL
    <input type="checkbox" id="needmemberpwd" name="needmemberpwd"  value="1" onClick="checkmemberof(this)"  class="checkstyle"> 
    选中时request.getparameter("needmemberpwd")得到的是1,没选择得到是NULL
    如果两个checkbox
    <input type="checkbox" id="needmemberpwd" name="needmemberpwd"  value="0" onClick="checkmemberof(this)"  class="checkstyle"> 
    <input type="checkbox" id="needmemberpwd" name="needmemberpwd"  value="1" onClick="checkmemberof(this)"  class="checkstyle"> 
    如果你选中一个,那request.getparameter("needmemberpwd")得到的就是选中的这个checkbox的value值,如果两个都选中那得到的是排在第一个的checkbox的值,
    如果2个都没选,那得到的就是NULL
    下面是两个简单的例子程序
    test1.jsp
    <%@ page language="java" import="java.util.*" pageEncoding="ISO-8859-1"%>
    <%
    String path = request.getContextPath();
    String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
    %>
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
    <html>
      <head>
        <base href="<%=basePath%>">
        <title>My JSP 'test1.jsp' starting page</title>
      </head>
      <body>
        <form action="test2.jsp">
        <input type="checkbox" id="needmemberpwd" name="needmemberpwd"  value="0"> 
    <input type="checkbox" id="needmemberpwd" name="needmemberpwd"  value="1"> 
    <input type="submit" value="submit">
        </form>
      </body>
    </html>test2.jsp
    <%@ page language="java" import="java.util.*" pageEncoding="ISO-8859-1"%>
    <%
    String path = request.getContextPath();
    String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
    %>
    <%
    String value1 = request.getParameter("needmemberpwd");
    %>
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
    <html>
      <head>
        <base href="<%=basePath%>">
        <title>My JSP 'test2.jsp' starting page</title>
      </head>
      
      <body>
        This is my JSP page. <%=value1 %><br>
      </body>
    </html>
      

  3.   

    LZ这是一个checkbox还是两个啊?如果是一个的话,看LZ的这个问题要多贴点代码出来了
    那样问题可能出在checkmemberof(this)这个JS函数上,把这函数贴上来哈
      

  4.   

    checkbox最好还是用request.getParameterValues("needmemberpwd"),两个的话用radio
      

  5.   

    那个js函数如下:function checkmemberof(obj){
        if(obj.checked==true){
      document.form1.pwdofmember.disabled=false;
      document.form1.pwdofmemberconfirm.disabled=false;
      document.getElementById("needmemberpwd").value=1;
    }else if(obj.checked==false){
      document.form1.pwdofmember.disabled=true;
      document.form1.pwdofmemberconfirm.disabled=true;
      document.getElementById("needmemberpwd").value=0;   
    }
    }
     
      

  6.   

    JS逻辑有问题function checkmemberof(obj) {
        if (obj.value == 1) {
            document.form1.pwdofmember.disabled = true;
            document.form1.pwdofmemberconfirm.disabled = true;
        }
        else {
            document.form1.pwdofmember.disabled = false;
            document.form1.pwdofmemberconfirm.disabled = false;
        }
    }