我有一个由 Ajax Control Toolkit 日历扩展的文本框。
我想让用户无法编辑文本框,而不得不使用日历扩展程序进行输入。
我已经设法阻止了除退格键之外的所有键!
这是我目前所拥有的:
<asp:TextBox ID="TextBox1" runat="server" onKeyPress="javascript: return false;" onKeyDown="javascript: return false;" onPaste="javascript: return false;" />
如何使用 javascript 在文本框中禁用退格键?
编辑
进行了编辑,因为我需要 javascript 中的解决方案。
编辑
结果是 onKeyDown="javascript: return false;"确实有效。我不知道为什么它以前不起作用。我尝试使用新的文本框,它很好地阻止了退格键。非常抱歉所有发布答案希望得到一些代表的人,尤其是。在我将其标记为赏金之后。
我的文本框现在(似乎)可以阻止所有击键并且仍然可以与日历扩展器一起使用。
最佳答案
ZX12R 很接近。这是正确的解决方案:
文本框是这样的:
<asp:TextBox ID="TextBox1" runat="server" onKeyDown="preventBackspace();"></asp:TextBox>
脚本如下所示:
<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>
首先,退格键不会出现在 Key Press 上,所以你必须使用 Key Down。
关于asp.net - 通过javascript禁用文本框中的退格键,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1937927/