Space Bar(32)没有在按键上工作

时间:2014-02-24 05:21:51

标签: javascript jquery jquery-ui

我只需要在文本框中输入字符串变量,但空格键不起作用请有人帮我朋友。 。

$(".onlyname").keypress(function (evt) {
  evt = (evt) ? evt : event;
  var charCode = (evt.charCode) ? evt.charCode : ((evt.keyCode) ? evt.keyCode :
    ((evt.which) ? evt.which : 0));
  if (charCode > 31 && (charCode == 9 || charCode == 40 || charCode == 39 || charCode == 32 || charCode == 37 || charCode == 27 || charCode < 65 || charCode > 90) &&
    (charCode < 97 || charCode > 122)) {
    $('#error').attr('class', 'errorMessage');
    $('#error').text("Enter Only Alphabets Value");
    return false;
  }
  else {
    $('#error').attr('class', ' display: none;');
    $('#error').text("");
    return true;
  }
});

1 个答案:

答案 0 :(得分:1)

这个条件错了

if (charCode > 31 && (charCode == 9 || charCode == 40 || charCode == 39 || charCode == 32 || charCode == 37 || charCode == 27 || charCode < 65 || charCode > 90) &&
    (charCode < 97 || charCode > 122)) {

空格键代码为32,因此当您输入空格时,如果条件满足并打印错误。

尝试小提琴http://jsfiddle.net/nfDM8/

或者在您自己的代码中尝试此修改

     $(".onlyname").keypress(function (evt) {
        evt = (evt) ? evt : event;
        var charCode = (evt.charCode) ? evt.charCode : ((evt.keyCode) ? evt.keyCode :
          ((evt.which) ? evt.which : 0));
        if (charCode > 32 && (charCode == 9 || charCode == 40 || charCode == 39 || charCode == 37 || charCode == 27 || charCode < 65 || charCode > 90) &&
          (charCode < 97 || charCode > 122)) {
            alert("Enter Only Alphabets Value");
            return false;
        }
        else {            
            return true;       
        }
    });