在 Mozilla 浏览器上,退格键在我的表单的文本区域中不起作用

Backspace is not working in Textarea of My Form on Mozila browser

function onlyAlphabets(e, t) {
  try {
    if (window.event)  {
      var charCode = window.event.keyCode;
    }
    else if (e) {
      var charCode = e.which;
    }
    else { return true; }
    if ((charCode > 64 && charCode < 91) || (charCode > 96 && charCode < 123))
      return true;
    else
      return false;
  }
  catch (err) {
    alert(err.Description);
  }
}

function isNumber(evt) {
  evt = (evt) ? evt : window.event;
  var charCode = (evt.which) ? evt.which : evt.keyCode;
  if (charCode > 31 && (charCode < 48 || charCode > 57)) {
    return false;
  }
  return true;
}   
       
$('input.facebookUrl').keyup(function(){
  if (
    ($(this).val().length > 0) && ($(this).val().substr(0,24) != 'http://www.facebook.com/')
    || ($(this).val() == '')
  ){
    $(this).val('http://www.facebook.com/');    
  }
});
<table align="center">
  <tr>
    <td>
      <input name="firstname"  class="text_area"  maxlength=20 placeholder="Name" type="text" onKeyPress="return onlyAlphabets(event,this)" required  id="ValidName" value="" />
    </td>
  <tr>
    <td>
      <input type="text" onkeypress="return isNumber(event)" id="volpincode" maxlength=7 name="pincode"  value="" required  placeholder="Pincode" class="text_area">
    </td>
    <td><input style="width:300px" type="text" onkeypress="return keyup(event)" class="facebookUrl" name="facebook" value="http://www.facebook.com/$facebook"></td>
    <td>
      <input style="width:30px" disabled="disabled" type="text" name="facebook" value="+91" />
    </td>
  </tr>
  </tr>
</table>

我正在尝试验证姓名和 Pin 码,这样在 NAME 字段中只需要输入字母而不是任何其他字符,而在 Pincode 中只应输入数字。该表单在 Google chrome 中工作正常,但是当我输入并尝试删除文本字段中的文本时,firefox 没有删除字符。

要仅验证名称的字母,请使用以下代码:

$(document).on("keydown", "#NametextboxID", function (e) {
                if (e.ctrlKey || e.altKey) {
                    e.preventDefault();

                } else {

                    var key = e.keyCode;
                    if (!((key == 8) || (key == 32) || (key == 46) || (key >= 35 && key <= 40) || (key >= 65 && key <= 90) || (key == 9))) {
                        e.preventDefault();
                    }
                }
            });

要仅验证用于 Pin 的数字,请使用以下代码:

 $(document).on("keydown", "#PinId", function (e) {
                if (e.shiftKey || e.ctrlKey || e.altKey) { // if shift, ctrl or alt keys held down
                    e.preventDefault();         // Prevent character input
                } else {
                    var n = e.keyCode;
                    if (!((n == 8)              // backspace
                            || (n == 46)                // delete
                            || (n >= 35 && n <= 40)     // arrow keys/home/end
                            || (n >= 48 && n <= 57)     // numbers on keyboard
                            || (n >= 96 && n <= 105)
                            || (n == 9))   // number on keypad
                    ) {
                        e.preventDefault();
                        // alert("in if");
                        // Prevent character input
                    }
                }
            });

在名称字段的 "onlyAlphabets function" 中再添加一个条件。

if (charCode == 8 || (charCode > 64 && charCode < 91) || (charCode > 96 && charCode < 123))

JS Fiddle Link