防止提交空白输入和textarea

时间:2013-06-24 09:05:37

标签: javascript jquery html validation input

我正在使用input textareainput button。当buttondisabled 为空时,我需要inputtextarea

这是 Html

<input type="text" class="area">
<textarea name="testo" class="area" cols="30" rows="10"></textarea>
<input type="button" class="btn" value="send" disabled>

的Javascript

$('.area').on('keyup' , function() {
    if( $('input').val().length > 0 && $('textarea').val().length > 0 ){
        $('.btn').prop('disabled', false);
    }
    else {
        $('.btn').prop('disabled', true);
    }
});

它工作正常但是,如果按spacebar并键入blank字符,则length不再是< 0,因此{{1不再是button。我该如何防止这种情况?

6 个答案:

答案 0 :(得分:7)

使用$.trim()清除前导和尾随空格中的值

if( $.trim($('input').val()).length > 0 && $.trim($('textarea').val()).length > 0 ) {

}

答案 1 :(得分:2)

使用以下功能定义确保您具有“修剪”功能

if(typeof String.prototype.trim!=="function")
String.prototype.trim=function(){
    return this.replace(/^\s+|\s+$/g,"")
}

现在你的代码不应该改变用户输入......但它应该能够检测用户是否只输入“空格”

$('.area').on('keyup' , function() {
if( $('input').val().trim().length > 0 && $('textarea').val().trim().length > 0 ){
    $('.btn').prop('disabled', false);
} else {
    $('.btn').prop('disabled', true);
}

});

答案 2 :(得分:1)

<form>
<input type="text" id="text1" value="name"/>
<textarea type="text" id="text2"></textarea>
<input type="button" id="button1" value="click">click</button>
</form>
if( $('#text1').val().length > 0 && $('text2').val().length > 0 ){
       $('#button1').prop('disabled', false); 
    }
    else {
        $('#button1').prop('disabled', true);
    }

答案 3 :(得分:0)

$('.area').on('keyup' , function() {
   if($.trim($('input').val()).length > 0 && $.trim($('textarea').val()).length > 0 ){
       $('.btn').prop('disabled', false);
   }
   else {
    $('.btn').prop('disabled', true);
   }
});

答案 4 :(得分:0)

使用jquery的trim函数:

$('.area').on('keyup' , function() {
    if($.trim($('input').val()).length > 0 && $.trim(($('textarea').val()).length > 0 ){
        $('.btn').prop('disabled', false);
    }
    else {
        $('.btn').prop('disabled', true);
    }
});

答案 5 :(得分:0)

[见下面的链接。在这里,我得到了这个问题的答案] [1]

    $(document).ready(function(){ 
$("#txtNoSpaces").keydown(function(event) {
    if (event.keyCode == 32) {
        event.preventDefault();
    }
});
});

http://jsfiddle.net/jquerybyexample/MwEkj/