开发者

Problem with a button's OnClientClick event inside an UpdatePanel

im using javascript like

var TargetBaseControl = null;
window.onload = function()
{
   try
   {
      //get target base control.
      TargetBaseControl = 
        document.getElementById('<%= this.GridView1.ClientID %>');
   }
   catch(err)
   {
      TargetBaseControl = null;
   }
}
function TestCheckBox()
{              
   if(TargetBaseControl == null) return false;

   //get target child control.
   var TargetChildControl = "chkSelect";

   //get all the control of the type INPUT in the base control.
   var Inputs = TargetBaseControl.getElementsByTagName("input"); 

   for(var n = 0; n < Inputs.length; ++n)
      if(Inputs[n].type == 'checkbox' && 
         Inputs[n].id.indexOf(TargetChildControl,0) >= 0 && 
         Inputs[n].checked)
       return true;        

   alert('Select at least one checkbox!');
   return false;
}

and inside the update panel i have code like

<asp:Button ID="ButtonSave" runat="server" OnClick="ButtonSave_Click"     
    OnClientClick="javascript:return Test开发者_运维问答CheckBox();" Text="Save" />

when i run the page and click the button then no more further processing just button has been click nothing happan......


Try this:

function TestCheckBox() 
{               
   var TargetBaseControl = null; 
   if(TargetBaseControl = document.getElementById('<%= this.GridView1.ClientID %>')){

   //get target child control. 
   var TargetChildControl = "chkSelect"; 

   //get all the control of the type INPUT in the base control. 
   var Inputs = TargetBaseControl.getElementsByTagName("input");  

   for(var n = 0; n < Inputs.length; ++n) 
      if(Inputs[n].type == 'checkbox' &&  
         Inputs[n].id.indexOf(TargetChildControl,0) >= 0 &&  
         Inputs[n].checked) 
       return true;         
   }
   alert('Select at least one checkbox!'); 
   return false; 
}


look at the source of your page once it is in a browser. see what happens with the OnClientClick assignment. does it get rewritten/re-routed ? it should be pretty clear at that point. you can also step through with tools such as Firebug in firefox, IE8 developer tools, chrome developer tools, or visual studio

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜