【问题标题】:Make ReadOnly Textbox Non-Selectable使只读文本框不可选
【发布时间】:2017-05-01 22:25:56
【问题描述】:

我有一个带有只读属性的文本框的表单。这没什么大不了的,但我想我会问,那么有没有办法制作该文本框,以便用户无法选择它并将光标放在其中?

disabled 属性会执行此操作,但随后该文本框不会与表单一起提交。

有没有 js/jquery 解决方案?

片段


<form>
    <div class="col-md-9">
        @Html.EditorFor(model => model.Time, new { htmlAttributes = new { @class = "form-control clear-textbox create-form-txtbox time-txtbox", @readonly = "readonly" } })
        @Html.ValidationMessageFor(model => model.Time, "", new { @class = "text-danger" })
    </div>

    <input type="submit" value="Submit" />
</form>

感谢任何帮助。

【问题讨论】:

  • @StephenMuecke 啊,这行得通。谢谢,作为答案发布,我会接受

标签: html asp.net-mvc readonly


【解决方案1】:

试试这个。 它为我工作。 用这个控件替换@Html.EditorFor。

<input type="text" value="@Model.Time" id="Time" name="Time" class="form-control" readonly />

【讨论】:

  • 这是使用@Html.EditorFor时在页面上呈现的内容
【解决方案2】:

使用内联onkeydown="return false;"属性

或者如果你想要一个 javascript 解决方案

$('#someId').keydown(function(e) {
   e.preventDefault();
   return false;
});

【讨论】:

    【解决方案3】:

    我已使用斯蒂芬的评论作为答案,并且它有效。

    我创建了一个隐藏输入字段以提交给服务器,但用户只会看到禁用的文本框,其中包含该隐藏输入字段所保存的值。

    【讨论】:

      猜你喜欢
      • 2013-01-20
      • 2018-02-28
      • 2011-05-03
      • 1970-01-01
      • 2013-11-23
      • 2013-02-06
      • 1970-01-01
      • 2021-11-19
      • 1970-01-01
      相关资源
      最近更新 更多