【发布时间】:2011-01-22 04:15:26
【问题描述】:
我正在使用类似的javascript
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" />
当我运行页面并单击按钮时,不再进行进一步处理,只是按钮已单击没有发生任何事情......
【问题讨论】:
-
您确定要为点击触发返回 true 吗?
-
我使用人为设计的示例对上述代码没有任何问题。我能看到的唯一潜在问题是未定义“TargetBaseControl”时事件不会触发。你确定你找到了正确的元素吗?
标签: asp.net javascript updatepanel