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.
ReadOnly attribute does not help. The backspace still is taking your browser to back page even if your text box is read only..
Can't you just use the HTML
readonly="readonly"
attribute?ZX12R was close. This is the correct solution:
The TextBox is like this:
and the script looks like this:
First of all, the backspace wont come through on Key Press, so you have to use Key Down.
here is a possible solution... add an event listener...
and then the function can be like this..
doubt if it has to be onkeypress or onkeyup...
use regular text boxes not read-only and not Disabled, just use client-side JavaScript to ignore keypresses. This will ignore all keypress so you will have your READONLY behaviour and it will also ignore the backspace.
No Need to call any function and all just try this: