js 批量删除

来源:互联网 发布:毛衣怎么挂不变形 知乎 编辑:程序博客网 时间:2024/06/05 09:39

关键字js 批量删除

1、通过javascript实现全选和反选的三种方法。

 

var SelectAllFlag = false;

 function goToForAllSelect(){

 var doc = document.form1;

 var l=doc.sel.length

 if(l==null)

 {

 l=1;

 }

  if(l==1){

   if(!SelectAllFlag){

     doc.sel.checked = true;

   }else{

   doc.sel.checked = false;

   }

 }else{

   for(i = 0; i < l; i++){

    if(!SelectAllFlag){

     doc.sel[i].checked = true;

    }else{

     doc.sel[i].checked = false;

     }

    }

  }

 if(!SelectAllFlag){

 SelectAllFlag = true;

 doc.quan.value=" 反 选 ";

 }else{

 SelectAllFlag = false;

 doc.quan.value=" 全 选 ";

  }

 }

复选框

<input name="sel" type="checkbox" class="noborder" value="<%=domainName%>">

调用javascript方法

<input type="button" name="quan" value=" 全 选 " onClick="goToForAllSelect()">

 实现效果:如图:

解释:l==1时,实现的是单选,doc.sel.checked = true;这个是选上,doc.sel.checked = false;这个是没选上。

      for循环里,实现的是全选。此种情况是:全选和反选是一个按钮。

     /*全选*/

       function selectAll() 

       { 

       var arrObj = document.all; 

       for(var i = 0; i < arrObj.length;i++) 

       { 

 

                               if(typeof arrObj[i].type != "undefined" && arrObj[i].type=='checkbox') arrObj[i].checked =true; 

       } 

       } 

        /*反选*/

    function CheckOthers(checkBoxName)

{

if(checkBoxName==undefined){

       return false;

}

var   checkBoxList=checkBoxName;

for(i=0;i<checkBoxList.length;i++)  

 {

       if(checkBoxList[i].checked==true){

              checkBoxList[i].checked=false;

       }

       else

       {

              checkBoxList[i].checked=true;

       }

 }

}

复选框

<input name="listt" type="checkbox" class="noborder" value="<%=DOM_BUSINESS_ID%>">

调用javascript方法

<input type="button" name="go" value="全选" onClick="selectAll()">

<input type="button" name="Submit9" value="反选" onClick="CheckOthers(document.form1.listt);">

注意:反选时,往javascript方法里,传递的参数是一个数组。

 实现效果:如图:

解释:for循环里,当i=0时,实现的就是单选。点击反选时,传递给javascript的参数是一个数组,看这段

      javascript的意思就是,把选上的和没选上的做了一个颠倒,javascript还是有点看不太明白!

注:undefined是未明确定义的意思。

 /*全选*/

function checkall(s)

{

    var a = document.getElementsByName(s);

    var n = a.length;

    for (var i=0; i<n; i++)

    a[i].checked = true;

}

/*反选*/

function checkother(s)

{

       var a = document.getElementsByName(s);

       var n = a.length;

       for (var i=0; i<n; i++)

       {

              if(a[i].checked == true)

              {

                     a[i].checked = false;

              }

              else

              {

                     a[i].checked = true;

              }

       }

}

复选框

<input name="Stat" type="checkbox" class="noborder" value="checkbox" <%=sa%> onClick="statchange('<%=username%>');">

调用javascript方法

<input name="Submit2" type="button" class="button" value="全 选" onClick="checkall('selet');">

<input name="Submit3" type="button" class="button" value="反 选" onClick="checkother('selet');">

注:不知道传递的selet这个参数是什么意思,但这也是实现全选和反选的一种方式,反选的道理和上面的一样,就是如果选上了,就把

   它变为false,不选,如果没选上的,就把它变为true,选上。

2、通过javascript实现批量删除的两种方法。

 function del()

{

       var flag = "false";

       var str = "";

       if(document.form1.sel==undefined)

       {

              alert("您没有要操作的信息!");

              return false;

       }

       else

       {

              if(document.form1.sel.length == undefined)

              {

                     if(document.form1.sel.checked==false)

                     {

                            alert("请选择要操作的信息!");

                            return false;

                     }

                     else

                     {

               document.form1.action = "batchDelete.do?method=dis&arry="+document.form1.sel.value;

              document.form1.submit();

                     }    

              }

              else

              {

             

                     for(var i=0;i<document.form1.sel.length;i++)

                     {    

                    

                            if(document.form1.sel[i].checked == true)

                            {

                                   if(str=="")

                                   {

                                          str = document.form1.sel[i].value;

                                   }

                                   else

                                   {

                                          str = str+","+document.form1.sel[i].value;

                                   }

                                   flag = "true";

                            }

                     }

                     if(flag =="false")

                     {

                            alert("请选择要操作的信息!");

                            return false;

                     }

               document.form1.action = "batchDelete.do?method=dis&arry="+str;

              document.form1.submit();

              }

       }

}

调用javascript的方法

<input type="button" name="go3" value="批量删除" onclick="del()">

 解释: document.form1.action = "batchDelete.do?method=dis&arry="+document.form1.sel.value;这个地方传递的是

单选的参数,即给要调用的后台Action里的方法,传递的参数,用javascript传的。

       document.form1.action = "batchDelete.do?method=dis&arry="+str;这个传递的是多选的参数,这个参数是一个

字符串数组,后台根据这个数组,进行批量删除。

  function dis(str)

{

       var check_length = document.form1.elements[val].length;

               var i_count=0

               var list = new Array();

               var str = "";

               for(var i=0;i<check_length;i++)

               {

                        if (document.form1.elements[val](i).checked)

                        {

                               i_count=i_count+1;

                               var u = document.form1.elements[val](i).value;

                               str = str+u+",";                        

                        }

               }

               if(i_count==0)

               {

                            alert('请选择您要处理的数据');

                            return false;

               }

               document.form1.action = "batchDelete.do?method=dis&arry="+str;

              document.form1.submit();

}

复选框

<input name="Stat" type="checkbox" class="noborder" value="checkbox" <%=sa%> onClick="statchange('<%=username%>');">

调用javascript方法

<input name="Submit4" type="button" class="button" value="通 过" onClick="tongguo('selet')">

 注:如果这个javascript方法不好用,可以仿照上面的写法,把elements[val](i)改为sel[i]就可以了。

  3、用隐藏域向后台传递参数。

<input type=hidden name=comName value="<%=comName%>">

如果你想传递参数的同时,还调用Action里的方法,就用javascript传递参数。

如果只是后台Action里的某个方法,需要这个参数,就没必要用javascript传,直接用一个input隐藏域传,就可以了。

 

注:凡是表单里传过的数据或javascript传的参数或input隐藏域传的参数,在Action里都用String comName = request.getParameter("comName");获得即可,或者用form获得。

   不能用request.getAttribute("comId");这种方式获得,其实也是获得不到的。因为只有你request.setAttribute();了,才能get到。

  4、关于页面转向的问题。

结果:如果dbr为空,给出一个信息提示,请先填写续费合同

     我刚开始的判断方法:if(dbr==null),转向另一个页面,但判断之后,发现if里的转向根本就没有实现。原因:dbr本身就不为空,因为在后台打印出的dbr都是{}这种情况,

     这个大{}内,输出的就是dbr所包含的元素信息,即使是为空的时候,也会输出一个{},所以,页面没有进行跳转。

     之后用if(dbr.isEmpty)判断,页面成功跳转了。

注:dbr是数据库一条记录的封装对象,它继承了properties这个类,properties继承了java.util.Hashtable这个类,在这个类里有一个,isEmpty()方法,返回值是布尔类型的。

注:判断一个对象的元素是否为空,可以用dbr==null,但也不要忘了dbr.isEmpty方法。

  5、日历控件的调用:

引入日历控件

<SCRIPT language=javascript src="<%=request.getContextPath() %>/script/calendar.js"></SCRIPT>

 当你选择时间时,把你所选择的时间,传递给form。即调用showCal('form1','deleteDate')deleteDate传递给strutsActionForm

<td height="35" align="right" >域名删除时间

   <input name="deleteDate" type="text" size="12" value="<%=deleteDateWhere%>" readonly>

   <img src="<%=request.getContextPath() %>/images/datetime.gif" width="16" height="16" onClick="showCal('form1','deleteDate');">

</td>

  

6javascript错误的显示:

如图:

原创粉丝点击