上传表单页面有2个复选框设置成为热门软件<input type="checkbox" name="checkbox1" value="1">
设置成为推荐软件<input type="checkbox" name="checkbox2" value="1"> 
接收页面
Often=Long.parseLong(su.getRequest().getParameter("checkbox1"));
Commend=Long.parseLong(su.getRequest().getParameter("checkbox2"));SQL语句
sql.executeUpdate("insert into Soft(Often,Commend) values ('"+Often+"','"+Commend+"')");我想实现:如果选了复选项值为1,否则值为0.折腾半天没有完全解决,所以才上来问问...

解决方案 »

  1.   

    2个复选框 如果有一个没选
    Often=Long.parseLong(su.getRequest().getParameter("checkbox1"));
    Commend=Long.parseLong(su.getRequest().getParameter("checkbox2"));
    就有错误还有这个问题不知道怎么解决...
      

  2.   

    1.首先复选框的初始值赋0
    2,在上传表单页面加一段javascript代码实现。
    下面相当于一个上传表单页面页面:
    <html>
    <head>
    <script language="javascript">
    function check(){
     if(frm.checkbox1.checked==true){
         frm.checkbox1.value="1";
       }
      else{
       frm.checkbox1.value="0";
     }
     if(frm.checkbox2.checked==true){
         frm.checkbox2.value="1";
       }
      else{
       frm.checkbox2.value="0";
     }
     alert(frm.checkbox1.value+"---"+ (frm.checkbox2.value));
    }
    </script>
    </head>
    <body>
    <form id="frm">
    设置成为热门软件<input type="checkbox" name="checkbox1" value="1" >
    设置成为推荐软件<input type="checkbox" name="checkbox2" value="1" > 
    <input type="button" name="btn" value="view" onclick="check()"> 
    </form>
    </body>
    </html>
    记住结贴给分哈。吃饭去........
      

  3.   

    为什么非把用script可以实现的东西都搞到JAVA里
    做web 应用script 是很重要的
    代码量甚至超过JAVA代码
      

  4.   

    <input type="button" name="btn" value="view" onclick="check()"> 
    我用这个代码 为什么点了页面无法跳转...
    <form action="do_upload.jsp" method="post" enctype="multipart/form-data" name="frm">
                <table width="100"  border="1">
                  <tr>
                    <td width="50%"><input type="file" name="file1"></td>
                    <td><select name="Softsort" size="1">
                        <option value="Other">其它</option>
                        <option value="System">系统工具</option>
                        <option value="Net">网络工具</option>
                        <option value="Security">安全相关</option>
                        <option value="Media">媒体工具</option>
                        <option value="App">应用软件</option>
                        <option value="Graphics">图形图像</option>
                    </select></td>
                  </tr>
                  <tr>
                    <td colspan="2">设置成为热门软件
                      <input type="checkbox" name="checkbox1" value="1">
                      设置成为推荐软件
                      <input type="checkbox" name="checkbox2" value="1"> </td>
                    </tr>
                  <tr>
                    <td colspan="2">请输入软件说明:</td>
                  </tr>
                  <tr>
                    <td colspan="2"><textarea name="Re"></textarea></td>
                  </tr>
                  <tr>
                    <td colspan="2"><input type="button" name="btn" value="上传"onclick="check()"> </td>
                  </tr>
                </table>
              </form>
    <script language="javascript">
    function check(){
     if(frm.checkbox1.checked==true){
         frm.checkbox1.value="1";
       }
      else{
       frm.checkbox1.value="0";
     }
     if(frm.checkbox2.checked==true){
         frm.checkbox2.value="1";
       }
      else{
       frm.checkbox2.value="0";
     }
    }
    </script>
      

  5.   

    <%
    i = request("checkbox1")
    i = request("checkbox2")
    if ~~~~~%>
      

  6.   

    要跳转的话,在javascript的check()函数里面还加一句:
    frm.submit();
      

  7.   

    <script language="javascript">
    function check(){
     if(frm.checkbox1.checked==true){
         frm.checkbox1.value="1";
       }
     else{
       frm.checkbox1.value="0";
     }
     if(frm.checkbox2.checked==true){
         frm.checkbox2.value="1";
       }
     else{
       frm.checkbox2.value="0";
     }
    frm.submit();
    }
    </script>
    我现在是这个样子....可是...不行啊...如果我不把2个复选框都选上,就会提示
    description The server encountered an internal error () that prevented it from fulfilling this request.exception org.apache.jasper.JasperException: null
    org.apache.jasper.servlet.JspServletWrapper.handleJspException(JspServletWrapper.java:510)
    org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:393)
    org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:314)
    org.apache.jasper.servlet.JspServlet.service(JspServlet.java:264)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:802)都选上就没问题拉...  这怎么回事...
      

  8.   

    空指针问题做一下判断如果=null 则=0 就ok了
      

  9.   

    可在脚本中最后加入此代码,传值过去。
    var url="do_upload.jsp";
    var a=frm.checkbox1.value;
    var b=frm.checkbox2.value;
    url+="?checkbox1="+a;
    url+="&checkbox2="+b;
    window.location.href =url;
      

  10.   

    要搞清楚表单的提交规则, 复选匡并不是你想象的, 选中了传1,没选传0.  而是选中了传上value,没选中不传,  所以如果没选,你得到的将是null
      

  11.   

    ...头晕拉...  我不得不承认现在有点急躁....急于把系统完成 下午好交差...哎...
    我JSP和HTML的基础都很差...  做的时候都是碰到问题再上网来找...  效率很低
    可现在时间有限容不得我仔细去看...请大家帮我下,给个完整的代码...谢谢...万分感谢...
      

  12.   

    出去上了课回来 人就冷静下来拉...谢谢大家  特别是 aChinese(一个中国人) 
    我用你给的思路解决了问题虽然方法很笨...
    long Often=0;
    long Commend=0;

    String a,b;
    a=su.getRequest().getParameter("checkbox1");
    b=su.getRequest().getParameter("checkbox2"); if(a==null)
    {
    Often=0;
    }
    else
    {
    Often=Long.parseLong(a);
    } if(b==null)
    {
    Commend=0;
    }
    else
    {
    Commend=Long.parseLong(b);
    }
      

  13.   

    这个方法不是笨的,确切地说只能用这种方法……
    可以这么写
     a=su.getRequest().getParameter("checkbox1");
    b=su.getRequest().getParameter("checkbox2");
    Often = a == null ? 0: 1;