使用javascript的asp.net控件

使用javascript的asp.net控件,javascript,asp.net,Javascript,Asp.net,我知道这可能是一个简单的解决办法,但我似乎无法解决这个问题 当单击RadioButton1时,我正在尝试禁用WithIn过去文本框 <asp:RadioButton ID="RadioButton1" runat="server" Checked="True" GroupName="DateTimeQuery" OnClick="javascript:TimeRangeClickEvent()"/> <asp:TextBox ID="withinthepast" runat="

我知道这可能是一个简单的解决办法,但我似乎无法解决这个问题

当单击RadioButton1时,我正在尝试禁用WithIn过去文本框

<asp:RadioButton ID="RadioButton1" runat="server" Checked="True" GroupName="DateTimeQuery" OnClick="javascript:TimeRangeClickEvent()"/>
<asp:TextBox ID="withinthepast" runat="server" Text="1"></asp:TextBox>

<script>
        function TimeRangeClickEvent()
        {
            var radio1 = document.getElementById('<%=RadioButton1.ClientID%>').checked;                

            if (radio1 == true)
            {
                var within = document.getElementById('<%=withinthepast.ClientID%>').enabled = false;
            }
        }
    </script>

函数TimeRangeClickEvent()
{
var radio1=document.getElementById('')。已选中;
如果(radio1==真)
{
var in=document.getElementById(“”).enabled=false;
}
}
有什么建议吗

试试这个

if (radio1.checked == true)
        {
            var within = document.getElementById('<%=withinthepast.ClientID%>').enabled = false;
        }
if(radio1.checked==true)
{
var in=document.getElementById(“”).enabled=false;
}
您可以添加属性clientdmode=static

试试这个

if (radio1.checked == true)
        {
            var within = document.getElementById('<%=withinthepast.ClientID%>').enabled = false;
        }
if(radio1.checked==true)
{
var in=document.getElementById(“”).enabled=false;
}

您可以添加属性clientdmode=static

问题可能在于“enabled”属性。您可以尝试以下方法:

要启用控件:
ctl.removeAttribute(“已禁用”)


要禁用控件:
ctl.setAttribute(“disabled”、“disabled”)
问题可能在于“enabled”属性。您可以尝试以下方法:

要启用控件:
ctl.removeAttribute(“已禁用”)


要禁用控件:
ctl.setAttribute(“disabled”、“disabled”)

不,对不起。没有任何效果。我不应该把OnClick事件也放在文本框上,对吗?另外,如果我使用cllientIDMode=static,我是否有可能最终得到与此处提到的控件共享相同ID的控件?还有其他建议吗?我在这里不知所措。我试过的东西似乎都没用……没有,对不起。没有任何效果。我不应该把OnClick事件也放在文本框上,对吗?另外,如果我使用cllientIDMode=static,我是否有可能最终得到与此处提到的控件共享相同ID的控件?还有其他建议吗?我在这里不知所措。我尝试过的一切似乎都不起作用…您是否尝试添加一些console.log语句来监视TimeRangeClickEvent中发生的事情?您可以添加:console.log('radio1:'+radio1);在“如果”之前,看看radio1是否真的是真的。在大多数浏览器(AFAIK)中,可以使用F12查看控制台。和Alex一样的问题是:为什么使用“in”变量?我刚刚用一个警报进行了测试,如果选中,它实际上会发出“true”警报,如果不选中,则发出“false”警报。函数TimeRangeClickEvent(){var radio1=document.getElementById(“”)。选中;if(radio1==true){alert(radio1);}否则{alert(radio1);}但是,如果我尝试禁用文本框,我仍然会收到正确的警报,并且正在启用/禁用的文本框不会发生任何变化。是否尝试添加一些console.log语句来监视TimeRangeClickEvent中发生的情况?您可以添加:console.log('radio1:'+radio1);在“如果”之前,看看radio1是否真的是真的。在大多数浏览器(AFAIK)中,可以使用F12查看控制台。和Alex一样的问题是:为什么使用“in”变量?我刚刚用一个警报进行了测试,如果选中,它实际上会发出“true”警报,如果不选中,则发出“false”警报。函数TimeRangeClickEvent(){var radio1=document.getElementById(“”)。选中;if(radio1==true){alert(radio1);}否则{alert(radio1);}但是,如果我尝试禁用文本框,我仍然会收到正确的警报,并且文本框在启用/禁用时不会发生任何变化。是的。谢谢你的工作!非常感谢。干杯是的。谢谢你的工作!非常感谢。干杯