1
IM使用JavaScript中按钮的的OnClientClick事件像问题的一个UpdatePanel
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;
}
和更新面板,我有内部的代码一样
<asp:Button ID="ButtonSave" runat="server" OnClick="ButtonSave_Click"
OnClientClick="javascript:return TestCheckBox();" Text="Save" />
当我运行页面,点击该按钮则没有更进一步的处理只是按钮已经点击没有happan ......
您是否确定自己的点击是否正确? – 2010-03-06 23:44:53
我对上述代码使用一个人为的例子没有任何问题。 我能看到的唯一潜在问题是,当'TargetBaseControl'未定义时,事件不会触发。你确定你找到了正确的元素吗? – codemonkeh 2010-03-15 02:33:45