我有一个由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接近.这是正确的解决方案:
TextBox是这样的:
<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>
首先,Backspace不会在Key Press上通过,所以你必须使用Key Down.