【问题标题】:Disable a checkbox in javascript and recognize it as checked on the server side禁用javascript中的复选框并将其识别为在服务器端已选中
【发布时间】:2011-01-28 14:38:03
【问题描述】:

我有一个复选框,在某些情况下可能会被禁用并使用 javascript 进行检查,即:

var cbTest = document.getElementById("CheckBoxTest");
cbTest.disabled = true;
cbTest.checked = true;

但是,在发送回发时,CheckBoxTest.Checked 在服务器端为 false。

是否可以禁用该复选框并仍然让服务器端将其识别为已选中?

【问题讨论】:

    标签: asp.net javascript checkbox


    【解决方案1】:

    要获得禁用字段的值,您必须在回发之前启用它。禁用字段的值永远不会发送。

    【讨论】:

      【解决方案2】:

      表单内的任何禁用控件都不会在回发时提交给服务器。您可以添加一个隐藏的输入控件并将复选框状态置于该输入和服务器端检查该隐藏的输入值。

      【讨论】:

      • 我想过使用隐藏字段,但希望有更好的方法。显然,这毕竟是最好的方式。谢谢。
      【解决方案3】:

      我认为 HTML 表单只发布启用控件的值。我想解决这个问题的一种方法是设置一个隐藏字段 (<input type="hidden"/>),并将 CheckBox 的 Checked 状态存储在此处。

      【讨论】:

        【解决方案4】:

        您可以在帖子之前启用复选框,也可以设置一个隐藏字段来保存选中状态的值。禁用的控件不会发布其值。

        【讨论】:

          【解决方案5】:

          你有没有试过像

          string val = checkbox.Attributes["checked"].ToString();
          

          【讨论】:

          • 我现在查了一下,属性为null。
          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2020-09-02
          • 1970-01-01
          相关资源
          最近更新 更多