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