使用javascript的asp.net控件
我知道这可能是一个简单的解决办法,但我似乎无法解决这个问题 当单击RadioButton1时,我正在尝试禁用WithIn过去文本框使用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="
<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);}但是,如果我尝试禁用文本框,我仍然会收到正确的警报,并且文本框在启用/禁用时不会发生任何变化。是的。谢谢你的工作!非常感谢。干杯是的。谢谢你的工作!非常感谢。干杯