搜索 | 用户支持

防范以用户支持为名的诈骗。我们绝对不会要求您拨打电话或发送短信,及提供任何个人信息。请使用“举报滥用”选项报告涉及违规的行为。

详细了解

Backspace, Del, Arrow keys, Tab not working in Firefox when applying validation

  • 2 个回答
  • 20 人有此问题
  • 1 次查看
  • 最后回复者为 shitiz13

more options

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

more options

Forgot to mention, DevExpress is a third party tool that I am using.

由shitiz13于修改

more options

选择的解决方案

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