【问题标题】:How to execute in JavaScript function in ASP.NET using C#如何使用 C# 在 ASP.NET 中执行 JavaScript 函数
【发布时间】:2011-02-25 22:16:54
【问题描述】:

我有一个文本区域,当我检查checkbox 时我想禁用它。我用纯 HTML 和 JavaScript 制作了一个工作演示,但是当我迁移到 Asp.net 时,既没有执行该函数,也无法在我的复选框中保留 OnSelect 事件。

<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" />

我想在选中复选框时创建客户端验证,否则启用文本框。

【问题讨论】:

    标签: c# asp.net javascript


    【解决方案1】:

    我猜你的问题出在控件的 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>
    

    【讨论】:

    • onClick() in asp:CheckBox ... ..Gr8.
    【解决方案2】:

    自从我使用 ASP.NET 以来,我已经有一段时间了,但是从内存中,有类似“OnClientClick”事件和 asp.net 属性中的验证属性,用于调用客户端 JavaScript 代码的控件..

    很抱歉这个含糊的答案 - 也许有人可以扩展它。

    【讨论】:

    • 抱歉,我找不到任何 onclientclick.plz explane。
    【解决方案3】:

    您正在使用服务器端处理事件。使用带有“OnClientClick”的客户端处理。您可以执行以下操作:

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

    看来这也行不通。我还没有证明。

    另见 StackOverflow 上的类似帖子:OnClick vs OnClientClick for an asp:CheckBox?,MS 站点中也有一个问题:http://connect.microsoft.com/VisualStudio/feedback/details/103398/checkbox-onclientclick

    【讨论】:

      【解决方案4】:

      您可以将代码放在cs文件中。加载后您可以将onclientclick方法设置为现有的javascript函数。 在 javascript 函数中,您可以使用从服务器提供给浏览器的源文件中获取的名称或简单 id 获取文本框!

      【讨论】:

        猜你喜欢
        • 2011-02-12
        • 2016-07-05
        • 1970-01-01
        • 2017-01-09
        • 2017-06-09
        • 2012-12-14
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多