2008-12-09 145 views
1
<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函数引用单选按钮ID,(我使用的web表单,不MVC),验证的RadioButtonGroup客户端

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

任何人都知道如何在不知道clientId的情况下做到这一点?

回答

3

如果你的收音机都包含像一个DIV中,因为你的asp:单选按钮将呈现为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> 
+0

应该是.getElementsByTagName()< - * Tag * .getElementsByName()将用于所有元素的名称属性为“EndorsementType” – scunliffe 2008-12-09 21:29:57

0

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

+0

我忘了提及的单选按钮还嵌套一个向导的模板步骤,所以你认为我应该公开它的客户端ID作为属性在代码背后/服务器端代码? – 2008-12-09 19:29:38