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

时间:2016-05-11 15:11:10

标签: javascript jquery forms button

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

$(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 :(得分:1)

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

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

答案 1 :(得分:0)

试试这个......

$(document).ready(function(){

$(document).ready(function(){
    $('.sendButton').prop('disabled', true);
    $('#message').on('input',function(){    

        $('.sendButton').prop('disabled', this.value === "");     
        })
}); 

});

扩展到上面的代码,如果任何有粘贴问题的浏览器使用输入属性更改粘贴而不是输入