function chkClick(){
var checkedList = "";
//获取所有被选中的项
for(var i=0; i<chkList.length; i++){
if(chkList[i].checked)
checkedList += chkList[i].value + ",";
}
//把选中项的列表显示到“已选择的项”中,substring在这里是为了去除最后一个逗号
document.getElementById("HiddenField1").value  = checkedList.substring(0,checkedList.length-1);
  
老是报错 说document.getElementById()为空或者是不存在对象..
    但是如果我改为document.getElementByname(),它就就不报错.... 
    可是我取不到HiddenField1的值.
protected void Button1_Click1(object sender, EventArgs e)
    {
        string type = HiddenField1.Value;
        string [] keyValue=type.Split(',');

        foreach(string  keyName in keyValue)
        {
            STUDENT.FkBLL fkbll = new STUDENT.FkBLL();
            if (fkbll.dltfkid(keyName))
            {
                Response.Write("<script>alert('删除成功')</script>");
            }
            else 
            {
                Response.Write("<script>alert('删除失败')</script>");
            }
        }
        HiddenField1.Value = "";
        bind();
   
    }各位大虾帮帮忙!!!!1 急......

解决方案 »

  1.   

    try:document.getElementById("<%= HiddenField1.ClientID %>").value  = checkedList.substring(0,checkedList.length-1); 
      

  2.   

    document.getElementById("HiddenField1").value  = checkedList.substring(0,checkedList.length-1); 
    =>
    document.getElementById("<%= HiddenField1.ClientID %>")value  = checkedList.substring(0,checkedList.length-1); 
      

  3.   

    document.getElementById("<%= HiddenField1.ClientID %>").value  = checkedList.substring(0,checkedList.length-1);
      

  4.   

    document.getElementById('<%=HiddenField1.ClientId%>').value  = checkedList.substring(0,checkedList.length-1); 
    应该与环境相关
    document.getElementById("hf_Id")没问题
      

  5.   

    document.getElementById("HiddenField1")  中的HiddenField1是否正确,可以查看生成的html看id变成什么了?
      

  6.   

    document.getElementById("HiddenField1")  中的HiddenField1是否正确,可以查看生成的html看id变成什么了?
      

  7.   

    哦  我这个环境不是html是asp环境
      

  8.   

    我不知道你们是不是能看懂我写的,但是你们说的我也晕...
    <%@ Page Language="C#" MasterPageFile="~/MasterPage2.master" AutoEventWireup="true" CodeFile="Fkxx.aspx.cs" Inherits="Default2" Title="Untitled Page" %><asp:Content ID="Content1" ContentPlaceHolderID="ContentPlaceHolder1" Runat="Server">
        <script language="javascript" type="text/javascript">
        //先获得所有的checkBox
        var chkList = document.getElementsByName("CheckBox1");
        window.onload = function()
        {
        //为所有checkbox添加onclick事件处理,以自动更新“已选择的项”
        for(var i=0; i<chkList.length; i++)
    {
    chkList[i].onclick = chkClick;
    }
        }
        //checkbox的onclick事件,用于更新“已选择的项”
        function chkClick(){
    var checkedList = "";
    //获取所有被选中的项
    for(var i=0; i<chkList.length; i++){
    if(chkList[i].checked)
    checkedList += chkList[i].value + ",";
    }
    //把选中项的列表显示到“已选择的项”中,substring在这里是为了去除最后一个逗号
    document.getElementById('<%= HiddenField1.ClientID %>').value  = checkedList.substring(0,checkedList.length-1);
    }
    function checkAll()
        {
            var chkall=document.getElementById("CheckBoxAll");
            if(chkall.checked)
            {
                var checkedList = "";
                for(var i=0;i<chkList.length;i++)
                {
                      chkList[i].checked=true;
                      checkedList += chkList[i].value + ",";
                }
                document.getElementById("<%= HiddenField1.ClientID %>").Value = checkedList.substring(0,checkedList.length-1);
            }
            else
            {
                for(var i=0;i<chkList.length;i++)
                      chkList[i].checked=false;
                document.getElementById("<%= HiddenField1.ClientID %>").Value="";
            }
        }
        </script>
        <asp:Button ID="Button1" runat="server" Text="删  除" Width="68px" style="z-index: 100; left: 318px; position: absolute; top: 266px" Height="19px" OnClick="Button1_Click1" />
        <asp:HiddenField ID="HiddenField1" runat="server" />
      

  9.   

    明天你试试就知道了,看就知道是因为Master导致Render以后id改变了
      

  10.   

       我这没有分值可以提问了,只有在这再问你们了...
    调用存储过程的sql注入,出了问题,请各位大虾帮帮忙... 
    try  {
                SqlCommand cmd = new SqlCommand("exec glyLogin",ConnectionX.CreateConnection());
        cmd.CommandType=CommandType.StoredProcedure;
        cmd.Parameters.Clear();
        cmd.Parameters.Add("@a",Name.Text);
        cmd.Parameters.Add("@b",Pwd.Text);
        cmd.Connection.Open();
        cmd.ExecuteNonQuery();
        cmd.Connection.Close();
           }
          catch(Exception e1)
            { Response.Write("error"); }    }它老走catch,是什么原因呀?