function checkbox()
{
var count = 0;
var objs = document.Form1.getElementsByTagName("name");
for(i=0;i<objs.length;i++)
{
if(objs[i].tagName == 'input'&& objs[i].type=='checkbox'&& objs[i].checked ==true)
count++;
}
if(count==0)
{alert("你还没选择!");
history.go(-1);
}else
confirm("确定删除以上"+count+"项");
}==========================================================
<ItemTemplate>
<input type="checkbox" name="DeleteThis" id="DeleteThis" onclick="return deselect(this.checked,this.id);" Runat="server" />
</ItemTemplate>现在问题是 我选了 checkbox ,它还说我没有选择,然后继续执行删除操作,怎么回事?

解决方案 »

  1.   

    第一个问题已经解决了,疏忽
    var objs = document.Form1.getElementsByTagName("input");
    可以了
    但是第二个就奇怪了,confirm确定 取消 我按了取消,他为什么还执行下去?
      

  2.   

    if(objs[i].tagName == 'input'&& objs[i].type=='checkbox'&& objs[i].checked ==true)
    虽然你选择了checkbox,但是它有三个条件,其他两个是否也为true呢?
      

  3.   

    虽然你选择了checkbox,但是它有三个条件,其他两个是否也为true呢?
    -----------------
    这是与条件,不是或条件,看清楚了?楼主第2个问题,是因为你没有做返回值,改写如下:
    return(confirm("确定删除以上"+count+"项"));
      

  4.   

    objs[i].tagName == 'input'======》
    objs[i].tagName == 'INPUT'
    或者
    objs[i].tagName.toLowerCase() == 'input'
      

  5.   

    to:hchxxzx(NET?摸到一点门槛) 
    加了return还是不行啊
      

  6.   

    补充点:我用下面来提交的。
    <asp:button id="Button_del" runat="server" Text="删除选中项"></asp:button>
    因为是服务器控件,所以 在.cs文件中page_load处 加了来调用上面的函数
    Button_del.Attributes.Add("onclick","checkbox()");这些应该没问题的吧?
      

  7.   

    if(confirm("确定删除以上"+count+"项?")==false)
    alert("你按了取消");如果写成上面这样 ,对话框会跳出来的,但是还是会执行button_del_click 事件,是不是应该在上面加个终止的东东??初学者,哪位大哥帮我简单介绍下return ?我搞不清什么时候用。
      

  8.   

    return的意思,就是判断是否执行当前操作.
    所设我们在脚本里面,最后来一个return(false);的话,那么,不管你点击哪个按钮,它总是不会提交的;反之,它总是提交的.
    所以,我们在判断的时候,添加return,就是希望在脚本中处理的时候,发现不满足条件时,返回一个false,让点击按钮的事件失效,得以重新满足条件.
      

  9.   

    to:hchxxzx(NET?摸到一点门槛) 
    明白了但是我现在返回FALSE了,按钮事件为什么还会执行下去。
    ?我的事件是服务器事件,判断用的是客户端,是不是需要联系起来?