【问题标题】:How to disable an EditorFor with JavaScript in ASP MVC如何在 ASP MVC 中使用 JavaScript 禁用 EditorFor
【发布时间】:2013-05-31 07:49:08
【问题描述】:

我想用 javascript 禁用任何编辑器,我试试这个,但它不起作用:

<body onload="charge()">
    <div class="editor-field">
       <%: Html.EditorFor(model => model.Num_Serie, new { @id = "nn" })%>        
    </div>
</body>

和 javascript 代码:

<script type="text/javascript">

        function charge() {

            var nn = document.getElementById('nn');

            nn.disabled = 'disabled';

        }

    </script> 

【问题讨论】:

  • 使用 Jquery $("#nn").prop('disabled', true);

标签: c# javascript visual-studio-2010 asp.net-mvc-3


【解决方案1】:
document.getElementById("nn").disabled = true;

【讨论】:

    【解决方案2】:

    EditorFor 不会呈现为一个 HTML 元素,而是一组输入。因此,您应该禁用所有这些:

    function charge() {
        var inputs = $('div.editor-field :input');
        inputs.attr('disabled', 'disabled');
    }
    

    【讨论】:

    • 正是我来这里要说的 - 似乎有一个常见的混淆,即 HtmlHelper 必然等同于单个 HTML 元素,这是不正确的。特别是,事实上,使用EditorFor,如果不查看模型和项目的模板结构,就不可能知道将呈现什么。
    • @RabNawaz,确实如此。但是我假设 jquery 存在 - 这是一个 ASP.NET MVC 项目,默认情况下包含 jQuery。虽然在没有 jquery 的情况下重写它不是问题,但它需要来自 OP 的更多细节,或者更多的 javascript 代码 - 两者都会分散重点。
    【解决方案3】:

    对于这种特殊情况,这个 jQuery 代码可以工作。 $('#nn').attr('disabled','disabled');

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-03-17
      • 1970-01-01
      • 1970-01-01
      • 2018-05-02
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多