asp.netでWebサイトを開発しています。RadioButton で編集した GridView を使用しました。これは GridView のコードです。この RadioButton とともに、GridView は DataBase のテーブルから値を取得しており、3 つの列が含まれています。
<asp:GridView ID="creditGridView" runat="server"  Width="500" Height="210px"  GridLines="None" CssClass="classGridView" >
                   <Columns>
                       <asp:TemplateField HeaderText="Pick One">
                           <ItemTemplate>
                               <asp:RadioButton ID="radBatId" runat="server" onclick= "javascript:CheckOtherIsCheckedByGVID(this);" />
                           </ItemTemplate>
                       </asp:TemplateField>
                   </Columns>
</asp:GridView>
そして、JavaScript を使用して機能を作成し、GridView で一度に 1 つの RadioButton を選択しました。これは JavaScript コードです。
function CheckOtherIsCheckedByGVID(rdBtn) {
        var currentRdBtnId = rdBtn.id;
        alert(currentRdBtnId);
        var parent = document.getElementById("<%=creditGridView.ClientID%>");
    var items = parent.getElementsByTagName("input");
    for (i = 0; i < items.length; i++) {
        if (items[i].id != currentRdBtnId && items[i].type == "radio") {
            if (items[i].checked) {
                items[i].checked = false;
            }
        }
        else {
            document.getElementById("<%=radioBtnIndex.ClientID%>").value = i;
        }
    }
}
この関数を GridView を含む同じページに配置すると、正常に動作します。この関数を別の JavaScript ファイルに入れると、エラーが表示されます
UncaughtTypeError: null のメソッド 'getElementByTagName' を呼び出せません
ここで変数parentは値を取得していますnull。document.getElementById("<%=creditGridView.ClientID%>");つまり、関数が同じページにない場合、ステートメントは GridView id を取得していません。この問題を解決したり、GridView id にアクセスする別の方法を教えてくれたりできますか?