Backspace, Del, Arrow keys, Tab not working in Firefox when applying validation
Hi,
I am developing a webpage with some textboxes requiring only alphabets or alphanumeric text to be accepted. I am using DevExpress controls and following is the javascript code that executes on keypress
function fn_allowAlphabetspace(s, e) {
var theEvent = e.htmlEvent || window.event; var key = theEvent.keyCode || theEvent.which;
debugger; key = String.fromCharCode(key); var regex = /[a-zA-Z ]/;
if (!regex.test(key)) { theEvent.returnValue = false; if (theEvent.preventDefault) theEvent.preventDefault(); } }
All the browsers except firefox allow Backspace, Del, Tab, Arrow keys, Home, End key to work perfectly. Firefox does not allow any of these to work on the textboxes.
Thanks Shitiz
選ばれた解決策
Hi,
I tried to solve it by debugging the javascript and found the below code to be working for firefox as well as on other browsers IE10, Chrome and Safari without any issues
//validation function to allow only alphabets and space
function fn_allowAlphabetspace(s, e) { var searchSpecial = '$Backspace$Del$Home$Tab$Left$Right$Up$Down$End$'; if (searchSpecial.indexOf('$' + e.htmlEvent.key + '$') < 0) { var theEvent = e.htmlEvent || window.event; var key = theEvent.keyCode || theEvent.which; key = String.fromCharCode(key); var regex = /[a-zA-Z ]/;
if (!regex.test(key)) { theEvent.returnValue = false; if (theEvent.preventDefault) theEvent.preventDefault(); } } }
Please not that parameter e passed in the function provide the details of the keypress function. I am using DevExpress ASPxTextBoxes. Anybody who wants to use this function need to make changes in the above code as per the control used
Thanks Shitiz
この回答をすべて読む 👍 0すべての返信 (2)
Forgot to mention, DevExpress is a third party tool that I am using.
この投稿は shitiz13 により
選ばれた解決策
Hi,
I tried to solve it by debugging the javascript and found the below code to be working for firefox as well as on other browsers IE10, Chrome and Safari without any issues
//validation function to allow only alphabets and space
function fn_allowAlphabetspace(s, e) { var searchSpecial = '$Backspace$Del$Home$Tab$Left$Right$Up$Down$End$'; if (searchSpecial.indexOf('$' + e.htmlEvent.key + '$') < 0) { var theEvent = e.htmlEvent || window.event; var key = theEvent.keyCode || theEvent.which; key = String.fromCharCode(key); var regex = /[a-zA-Z ]/;
if (!regex.test(key)) { theEvent.returnValue = false; if (theEvent.preventDefault) theEvent.preventDefault(); } } }
Please not that parameter e passed in the function provide the details of the keypress function. I am using DevExpress ASPxTextBoxes. Anybody who wants to use this function need to make changes in the above code as per the control used
Thanks Shitiz