首页 文章

如果输入字段为空,请禁用提交按钮v2

提问于
浏览
0

在我的网站上,我尝试了这两个代码:

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

然后我尝试了这个:

$(document).ready(function(){
    $('.sendButton').prop('disabled', true);
    $('#message').keyup(function(){
        $('.sendButton').prop('disabled', this.value == "" ? true : false);     
    })
});

我怎样才能编辑其中任何一个,这样当你做的唯一事情是右键单击textarea( #message )时,我的按钮没有被禁用?使用这些代码,只有在您最初点击它时才有效 . 我希望如果textarea中没有文本,则禁用该按钮,但同时我希望如果它有文本但是没有初始左键单击则启用它 . IE浏览器 . 页面加载时你唯一要做的就是右键单击,粘贴,然后单击按钮(它应该可以工作) .

提前致谢!

PS:这两个代码都来自这个主题:If input field is empty, disable submit button

2 回答

  • 0

    试试这个...

    $(document).ready(function(){
    
    $(document).ready(function(){
        $('.sendButton').prop('disabled', true);
        $('#message').on('input',function(){    
    
            $('.sendButton').prop('disabled', this.value === "");     
            })
    }); 
    
    });
    

    扩展到上面的代码,如果任何有粘贴问题的浏览器使用 input propertychange paste 而不是 input

  • 1

    您可以使用.change()事件处理程序 . 当输入值改变时将被调度 . 因此,当有人在场上粘贴时,它会被更改,所以你会得到你的行动 .

    $( ".target" ).change(function() {
       alert( "Handler for .change() called." );
    });
    

相关问题