2010-05-31 12 views
0

我有我想要禁用,當我檢查checkbox一個textarea執行。我用普通的HTML和JavaScript做了一個工作演示,但是當我遷移到Asp.net的時候,這個函數並沒有被執行,我也可以在我的複選框中保留OnSelect事件。如何在JavaScript函數在ASP.NET中使用C#

<asp:CheckBox ID="ChkOthers" runat="server" Text="Others(Please Explain)" Width="205px" AutoPostBack="True" OnCheckedChanged="ChkOthers_CheckedChanged" /> 
<asp:TextBox ID="TxtOtherReason" runat="server" MaxLength="1024" TextMode="MultiLine" /> 

我想創建客戶端驗證時,複選框被選中文本框是啓用其他禁用。

回答

1

自從我使用ASP.NET以來,對於我來說已經有一段時間了,但是從內存來看,有一些像OnClientClick事件和asp.net屬性中的驗證屬性,可用於調用客戶端JavaScript代碼..

很抱歉的含糊答案 - 也許有人可以在其上展開。

+0

對不起,我找不到任何onclientclick.plz解釋。 – user354458 2010-05-31 09:56:12

0

您正在使用服務器端事件處理。使用「OnClientClick」處理客戶端。你可以這樣做:

<asp:CheckBox ID="ChkOthers" runat="server" 
    Text="Others(Please Explain)" 
    Width="205px" 
    AutoPostBack="True" 
    OnClientClick="alert(this.checked);" 
    OnCheckedChanged="ChkOthers_CheckedChanged" /> 

看來這也不起作用。我還沒有證明。

也看到在計算器上類似的帖子:OnClick vs OnClientClick for an asp:CheckBox?有也是MS網站的一個問題:http://connect.microsoft.com/VisualStudio/feedback/details/103398/checkbox-onclientclick

+0

您可以在asp:CheckBox ... ..Gr8中定義細節 – user354458 2010-05-31 10:15:26

0

您可以將代碼放在CS文件。經過加載它可以使OnClientClick這個方法的存在的JavaScript功能。 並且在javascript函數中,您可以使用文本框中使用的名稱或簡單標識,您可以從服務器提供給瀏覽器的源文件中獲得該標識!

3

我猜你的問題是在控制所以這裏的ID是我對你的問題

//Remove the AutoPostBack property and the OnCheckedChanged="ChkOthers_CheckedChanged" 
    <asp:CheckBox ID="ChkOthers" runat="server" Text="Others(Please Explain)" Width="205px" OnClick="javascript:YourFunction()" /> 
     <asp:TextBox ID="TxtOtherReason" runat="server" MaxLength="1024" TextMode="MultiLine" /> 

解決方案,並把下面的JavaScript文本框的處理啓用和魔鬼

<script> 
    function YourFunction() { 
     document.getElementById('<%= TxtOtherReason.ClientID %>').disabled = document.getElementById('<%= ChkOthers.ClientID %>').checked == false ? true : false; 
    } 
</script> 
+0

onClick()。 – saun4frsh 2013-11-22 13:11:03

相關問題