【问题标题】:Validate RadioButtonGroup Client Side验证 RadioButtonGroup 客户端
【发布时间】:2008-12-09 19:16:38
【问题描述】:
<asp:RadioButton GroupName="EndorsementType" runat="server" ID="rdoAddProperty" Text="Add Property to TIV" />
<asp:RadioButton GroupName="EndorsementType" runat="server" ID="rdoRemoveProperty" Text="Remove Property from TIV" />
<asp:RadioButton GroupName="EndorsementType" runat="server" ID="rdoChangeProperty" Text="Change Property Values" />

我正在考虑实现自定义validator,并使用客户端JavaScript 函数来引用RadioButton ID,(我使用的是Web 表单,而不是mvc),

something like.. 
 if(document.getElementById(<%= rdoAddProperty.ClientId %>).checked == true) && ...

有谁知道不知道clientId的方法吗?

【问题讨论】:

    标签: asp.net javascript


    【解决方案1】:

    如果您的收音机包含在 DIV 之类的东西中,并且因为您的 asp:RadioButtons 将呈现为 HTML 输入,您可以执行以下操作:

    <script type="text/javascript" language="javascript">
        function Validate()
        {
            var l_elemsRadios = document.getElementById("MyRadios").getElementsByTagName("input");
    
            if (l_elemsRadios == null)
                return;
    
            for (var i = 0; i < l_elemsRadios; i++)
            {
                // validate l_elemsRadios[i] through l_elemsRadios[n]
            }
        }
    </script>
    
    
    <div id="MyRadios">
        <input type="radio" name="EndorsementType" value="Remove Property from TIV" >Remove Property from TIV
        .
        .
        .
    </div>
    

    【讨论】:

    • 应该是 .getElementsByTagName() Tag .getElementsByName() 如果你想要所有元素的名称属性为“EndorsementType”
    • 哎呀。忘记了“标签”——我已经把它重新编辑了。谢谢你抓住它:)
    【解决方案2】:

    您必须将您的客户端 ID 放在表单中,与 INamingContainer 一样,您的 ID 可以根据服务器上存储的其他信息进行更改。

    【讨论】:

    • 我忘了提到单选按钮也嵌套在向导的模板步骤中,所以你认为我应该将它的客户端 ID 作为属性公开在后面的代码/服务器端代码中?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-07-29
    • 2012-08-25
    • 2019-01-04
    • 2017-10-02
    • 2010-12-20
    相关资源
    最近更新 更多