禁用 ASP 文本框的键盘输入
Disable Keyboard Entry to ASP Textbox
我有一个附加了 ajaxToolkit:calendarextender 的文本框。
我还有一个 OnTextChanged="do something"
和一个 AutoPostBack=true
.
我只希望我的用户能够使用日历扩展器将数据输入文本框。
我尝试将文本框上的 readonly
属性 设置为 true。这仅在文本框中存在现有文本时有效(如果我 textbox.text = "such and such"
然后通过日历扩展程序输入)。
如果我尝试通过单击文本框并在日历扩展器中选择日期来选择日期,由于 autopostback
和 OnTextChanged
事件,输入的任何内容都会立即被清除。我得到这个例外:
Exception was thrown at line 3169, column 13 in http://localhost:44994/ScriptResource.axd?d=Es_vqsdtlYssgAF4A3XSWnRVXoRhHI0Nw5kbnX4TQidZ-ER24J-iO0awsG5JH1rtQZR_iEqhZs7sdOBQ9bRTWyylEaGjH7fv-s8DBZ9g2dBrQRgBCGkgUkMcfnp1eLLpQ46PuRCK6kw9bzcz5Laedpe2sZMPd6VRGBt-E7Jq3Hi6WSFYwQmlvlft0Bho70p20&t=7b689585
0x800a138f - JavaScript runtime error: Unable to get property 'AbbreviatedMonthNames' of undefined or null reference
如何禁止通过键盘输入文本框,只允许 calendarextender
输入?
将属性 onkeydown="return false;"
添加到文本框。这样用户将无法输入任何内容,但点击仍然有效。
您可能还想添加 onpaste ="return false;"
以防止出现 copy/pasting 文本。
另一种方式,在页面加载期间将其添加到您后面的代码中:
protected void Page_Load(object sender, EventArgs e)
{
txtFrm.Attributes.Add("readonly", "true");
}
这将阻止用户立即键入和复制粘贴输入。
我有一个附加了 ajaxToolkit:calendarextender 的文本框。
我还有一个 OnTextChanged="do something"
和一个 AutoPostBack=true
.
我只希望我的用户能够使用日历扩展器将数据输入文本框。
我尝试将文本框上的 readonly
属性 设置为 true。这仅在文本框中存在现有文本时有效(如果我 textbox.text = "such and such"
然后通过日历扩展程序输入)。
如果我尝试通过单击文本框并在日历扩展器中选择日期来选择日期,由于 autopostback
和 OnTextChanged
事件,输入的任何内容都会立即被清除。我得到这个例外:
Exception was thrown at line 3169, column 13 in http://localhost:44994/ScriptResource.axd?d=Es_vqsdtlYssgAF4A3XSWnRVXoRhHI0Nw5kbnX4TQidZ-ER24J-iO0awsG5JH1rtQZR_iEqhZs7sdOBQ9bRTWyylEaGjH7fv-s8DBZ9g2dBrQRgBCGkgUkMcfnp1eLLpQ46PuRCK6kw9bzcz5Laedpe2sZMPd6VRGBt-E7Jq3Hi6WSFYwQmlvlft0Bho70p20&t=7b689585
0x800a138f - JavaScript runtime error: Unable to get property 'AbbreviatedMonthNames' of undefined or null reference
如何禁止通过键盘输入文本框,只允许 calendarextender
输入?
将属性 onkeydown="return false;"
添加到文本框。这样用户将无法输入任何内容,但点击仍然有效。
您可能还想添加 onpaste ="return false;"
以防止出现 copy/pasting 文本。
另一种方式,在页面加载期间将其添加到您后面的代码中:
protected void Page_Load(object sender, EventArgs e)
{
txtFrm.Attributes.Add("readonly", "true");
}
这将阻止用户立即键入和复制粘贴输入。