用于检查输入是否为空的Jquery脚本。空格按钮问题

时间:2013-09-04 18:31:11

标签: javascript jquery forms validation

我有一个脚本,可以验证输入是否为空。它可以工作,但如果单击空格按钮,则会出现问题。它启用一个按钮,并允许发送空输入。我想,伙计们,有可能升级我的脚本并解决这个问题吗?

THE SCRIPT:

 $(document).ready(function(){

 $('.post_button').attr('disabled',true);

 $('.message').keyup(function(){
    if($(this).val().length !=0){
        $('.post_button').attr('disabled', false);
    }
    else
    {
        $('.post_button').attr('disabled', true);        
    }
 })
 });

2 个答案:

答案 0 :(得分:2)

使用trim()修剪值,然后检查长度,如果您不想仅发送空格。

 $(document).ready(function () {

     $('.post_button').attr('disabled', true);

     $('.message').keyup(function () {
          if ($.trim($(this).val()).length != 0) {
             $('.post_button').attr('disabled', false);
         } else {
             $('.post_button').attr('disabled', true);
         }
     })
 });

使用$.trim($(this).val()),因为$(this).val().trim()在IE8中不起作用。

答案 1 :(得分:0)

这应该有效

(function($) {
    $('.post_button').attr('disabled', true);

    $('.message').keyup(function (e) {
        if (e.keyCode != 32 && e.$(this).val().length != 0) {
            $('.post_button').attr('disabled', false);
        } else {
            $('.post_button').attr('disabled', true);
        }
    })
})(jQuery);

此处检查按下的键的ASCII码,如果是32(空格),则保持禁用发布按钮。