1

我是 javascript 的新编程,我有这个问题,在一个 web 项目中,我有两个 raddiobuttons(rbtn1 和 rbtn2)和一个文本框(txt1),当我选择 rbtn1 时,他的选中属性为 true(显然)和 setenabled 属性txt1 的属性必须为真,当我选择 rbtn2 时,txt1 的 setenabked 属性必须为假。我做到了,当我初始化 txt1 的属性 setenabled=true 时它工作得很好,但是当我将此属性初始化为 false 时它不起作用。

为什么会这样?,有关额外信息,我在 asp.net 和 c# 项目中使用 devexpress 控件。谢谢回答。。

嗨,谢谢你的回答,是的,我正在使用 C# asp.net 项目,但在这种情况下,我也使用了 javascript。这是单选按钮的代码

        <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 时它才能完美运行

4

1 回答 1

0

当 ASP.NET 呈现控件时,它会将它们转换为 HTML 块。在这种情况下,您应该检查呈现的控件是否保持相同的 ID(rbtn、rbtn1)等。

此外,您需要检查它们以 HTML 控件的形式呈现的内容。[运行后在浏览器中查看->源代码] 通常它们会在 HTML 标记内呈现,因此,如果该标记称为 form1,并且控件是 rbtn 和 rbtn1,则要启用/禁用它们,您可以使用:

document.form1.rbtn.disabled=true;document.form1.rbtn1.disabled=false;

等等

适用于 C# 的服务器端控件的 API 可能不适用于 JS(除非 DevExpress 生成一个模仿它的 JS 库,它可以在运行时自动下载,我对此表示怀疑)

于 2013-04-16T00:05:46.553 回答