And*_*rew 11 javascript asp.net textbox backspace
我有一个由Ajax Control Toolkit日历扩展的文本框.
我想这样做,以便用户无法编辑文本框,而是必须使用日历扩展器进行输入.
我已设法阻止除退格之外的所有键!
这是我到目前为止:
<asp:TextBox ID="TextBox1" runat="server" onKeyPress="javascript: return false;" onKeyDown="javascript: return false;" onPaste="javascript: return false;" />
Run Code Online (Sandbox Code Playgroud)
我如何使用javascript禁用文本框中的退格?
编辑
由于我需要javascript中的解决方案,因此进行了编辑.
编辑
事实证明,onKeyDown ="javascript:return false;" 做的工作.我不知道为什么之前没有工作.我尝试使用新的文本框,它可以很好地阻止退格.很抱歉每个发布答案的人都希望得到一些代表.在我标记为赏金之后.
我的文本框现在(似乎)阻止所有击键,并且仍然可以使用日历扩展器.
Gab*_*ams 37
ZX12R很接近.这是正确的解决方案:
TextBox是这样的:
<asp:TextBox ID="TextBox1" runat="server" onKeyDown="preventBackspace();"></asp:TextBox>
Run Code Online (Sandbox Code Playgroud)
并且脚本如下所示:
<script type="text/javascript">
function preventBackspace(e) {
var evt = e || window.event;
if (evt) {
var keyCode = evt.charCode || evt.keyCode;
if (keyCode === 8) {
if (evt.preventDefault) {
evt.preventDefault();
} else {
evt.returnValue = false;
}
}
}
}
</script>
Run Code Online (Sandbox Code Playgroud)
首先,退格键不会通过按键,所以你必须使用Key Down.
你不能只使用HTML readonly="readonly"
属性吗?
<input type="text" name="country" value="Norway" readonly="readonly" />
<textarea rows="3" cols="25" readonly="readonly">
It should work! :)
</textarea>
Run Code Online (Sandbox Code Playgroud)