我是javascript中的新编程,我有这个问题,在一个web项目中我有两个raddiobuttons(rbtn1和rbtn2)和一个文本框(txt1),当我选择rbtn1时,他的checked属性是真的(显然)和txt1的setenabled属性必须为true,当我选择rbtn2时,txt1的setenabked属性必须为false。我做了它,当我初始化txt1的属性,setenabled = true时,它完美地运行,但是当我将此属性初始化为false时,它不起作用。
为什么会这样? 有关额外信息,我在asp.net和c#项目中使用devexpress控件。 谢谢你回答..
嗨,谢谢你的回答,是的,我正在使用C#asp.net项目,但是对于这种情况,我也在使用javascript。这是radiobuttons的代码
<dx:ASPxRadioButton ID="rbtn" runat="server" Text="Disabled"
ClientIDMode="AutoID" ClientInstanceName="rbtn">
<ClientSideEvents CheckedChanged="function(s, e) {
disabled(s, e);}" /> </dx:ASPxRadioButton>
<dx:ASPxRadioButton ID="rbtn1" runat="server" Text="Enabled"
ClientIDMode="AutoID" ClientInstanceName="rbtn1" Checked="True">
<ClientSideEvents CheckedChanged="function(s, e) {enabled(s, e);}" />
</dx:ASPxRadioButton>
这里是javascript代码
function disabled(s, e) {
rbtn1.SetChecked(false);
txt1.SetEnabled(false);
}
function enabled(s, e) {
rbtn.SetChecked(false);
txt1.SetEnabled(true);
}
正如我所说,只有当我将setenabled txt1的属性初始化为true时它才能正常工作
答案 0 :(得分:0)
当ASP.NET呈现控件时,它会将它们变成一大块HTML。在这种情况下,您应该检查渲染的控件是否保持相同的ID(rbtn,rbtn1)等。
此外,您需要检查它们作为HTML控件呈现的内容。 [运行后在浏览器中执行view-&gt;源代码]通常它们会在HTML标记内呈现,因此,如果标记名为form1,控件为rbtn和rbtn1,则启用/禁用它们时使用:< / p>
document.form1.rbtn.disabled = TRUE; document.form1.rbtn1.disabled = FALSE;
等
适用于C#的服务器端控件的API可能不适用于JS(除非DevExpress生成一个模仿它的JS库,它在运行时自动下载,我怀疑)