使只读文本框不可选择

Make ReadOnly Textbox Non-Selectable

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

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>

感谢任何帮助。

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

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

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

或者如果您想要 javascript 解决方案

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

我使用了 Stephen 的评论作为答案并且有效。

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