保持文本框不受键盘输入的影响

问题描述:

我有一个日期文本框。它有日历控制扩展器来选择日期。我想保持这个文本框类型的保护。即用户必须通过仅从日历控制中选择日期来输入日期,并且不允许键入日期。我试图保持文本框只读,但它不是解决目的.. 我该怎么做...?保持文本框不受键盘输入的影响

+2

为什么?在GUI上单击六十次可能需要更长的时间,然后只需输入日期即可。让用户输入日期,如果他们想要。 – Quentin

+0

为什么readonly属性不适合你? –

我怀疑ReadOnly属性存在问题,即文本框在回发时丢失状态。尝试使用readonly属性而不是ReadOnly属性。为此目的,将以下代码添加到Page_PreRender方法中:TextBox1.Attributes["readonly"] = "readonly";

+0

..我试过了,但它不起作用。当文本框失去焦点时,数据从文本框中丢失 –

+0

您使用服务器文本框吗?你有一些启动代码的文本属性清除?如果是,请检查此代码是否仅在首次加载页面时执行。 –

尝试禁用属性。

<input disabled="disabled"></input> 

如果你这样做,背景颜色将是灰色的。为了让白,你可以做

<input disabled="disabled" style="background-color:white"></input> 

使用“style”属性或CSS适当样式。

尝试readonly属性。

使用disabled可能不太方便,如果你想包括<form>提交作为参数输入的值(处理<form>disabled组件不使它的要求)。

<input readonly="readonly"></input> 

如果readonly属性不能正常工作,请尝试将onkeydown事件输入返回false

document.getElementById("input").onkeydown = function(){return false;}