Sunday, June 2, 2024
 Popular · Latest · Hot · Upcoming
164
rated 0 times [  167] [ 3]  / answers: 1 / hits: 33972  / 15 Years ago, mon, december 21, 2009, 12:00:00

I have a textbox which is extended by an Ajax Control Toolkit calendar.



I want to make it so that the user cannot edit the textbox and will have to instead use the calendar extender for input.



I have managed to block all keys except backspace!



This is what I have so far:



<asp:TextBox ID=TextBox1 runat=server onKeyPress=javascript: return false; onKeyDown=javascript: return false; onPaste=javascript: return false; />


How would I also disable backspace within the textbox using javascript?



EDIT



Made an edit since I need a solution in javascript.



EDIT



It turns out that onKeyDown=javascript: return false; DOES work. I have no idea why it wasn't working before. I tried using a new textbox and it blocked backspaces fine. So sorry to everyone who posted an answer hoping to get some rep esp. after I marked it for bounty.



My textboxes now (seem) to block ALL keystrokes and also still work with the calendar extender.


More From » asp.net

 Answers
15

ZX12R was close. This is the correct solution:



The TextBox is like this:



    <asp:TextBox ID=TextBox1 runat=server onKeyDown=preventBackspace();></asp:TextBox>


and the script looks like this:



<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>


First of all, the backspace wont come through on Key Press, so you have to use Key Down.


[#98026] Thursday, December 17, 2009, 15 Years  [reply] [flag answer]
Only authorized users can answer the question. Please sign in first, or register a free account.
louiemarvinm

Total Points: 473
Total Questions: 103
Total Answers: 94

Location: Samoa
Member since Mon, Nov 8, 2021
3 Years ago
;