<%-- 根据选择的id删除(同时删除多条记录) --%>
function deleteBySelectId(){
    var allinput = document.getElementsByName("chk");
    var n=0;
    var context="";
    for(i=0;i<allinput.length;i++)
    {
    if(allinput[i].type == "checkbox")
    {
    if(allinput[i].checked ==true){
    context = context+allinput[i].value+",";
    n++;
    }
    }
    }
    if(context==null ||context == ""){
    alert("请选择!");
    }
    else if(confirm("真的要删除吗?")){
    alert(n+"个复选框被选中~!"+"context:"+context);
    document.form1.action = "${pageContext.request.contextPath}/guestBook.do?method=delete&id="+context;     document.form1.submit();
    }
    }<input type="button" value="删 除" onclick="deleteBySelectId()">可以得到method=delete的值,但是id的值却取不到,为什么?

解决方案 »

  1.   

    你是在页面上得不到id的值,还是在Action中得不到id的值?
      

  2.   

    在action中得不到id的值,method的值可以得到,id为空啊~!
    可以进入delete方法中,但id为空!
      

  3.   

    如果你的context有值的话,很可能是你的 &后面多了空格。
      

  4.   

    其实你可以界面定义一hidden放context的值,这样直接submit是肯定没有问题的。
      

  5.   

    最好在页面上定义一个hidden隐藏域存放 context 是中文都不怕
      

  6.   

    先alert一下context,看看是否取得到了,还有context中含有
    逗号,不知道是否有影响,其实你可以换种方式,在action中
    用request.getParametervalues("delete");取得删除的数组,
    然后在组合成字符串。id in(?)语句删除。