禁用按钮无法唤醒

时间:2019-08-29 09:15:07

标签: javascript

我有一个显示文本框的功能,但是当我没有在文本框中键入内容时,我的按钮没有被禁用。


$(document).ready(function () {        
    loadData();    
    function loadData(is_category) {   
        $(document).on('click', '.viewdetails', function () {
            var html = '';
            html += '<input type=text id="ConvoDetails">'<input type="submit" class="sendButton">';    
        },

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


2 个答案:

答案 0 :(得分:0)

简短修复:

$('.sendButton').prop('disabled', 'disabled');

但是,您可能需要更改代码以绑定到change事件而不是keyup事件。 keyup经常被解雇,可能会导致延迟。

答案 1 :(得分:0)

在输入html中,您可以捕获诸如<input type=text id="ConvoDetails" onkeyup="onInputKeyUp(this)这样的key up元素,然后可以捕获一个诸如onInputKeyUp(element) {}这样的事件的函数。

此外,如果您将输入按钮默认设置为禁用,例如$('.sendButton').prop('disabled', true);

,则不需要此行代码<input type="submit" class="sendButton" disable>

完整的代码示例:

$(document).ready(function () {

  loadData();

    function loadData(is_category) {

    $(document).on('click', '.viewdetails', function () {

        var html = '';
        html += '<input type=text id="ConvoDetails" onkeyup="onInputKeyUp(this)"><input type="submit" class="sendButton" disable>';
    });
});

onInputKeyUp(element) {
    element.disabled = element.value == "";
}