2016-12-27 49 views
1

我有一個提交按鈕的3 textareas,我希望只有當每個3 textareas有一些內容時才能啓用。 這是我到目前爲止有:如何檢查textarea是否爲空?

https://jsfiddle.net/2wkb9wmq/5/

HTML

<body> 
    <form> 
    <p>First</p> 
    <textarea name="first" id="first" cols="12" rows="2"></textarea> 
    <p>Second</p> 
    <textarea name="second" id="second" cols="12" rows="2"></textarea> 
    <p>Third</p> 
    <textarea name="third" id="third" cols="12" rows="2"></textarea> 
    <button type='button' disabled>Submit</button> 
    </form> 
</body> 

jQuery的

$(document).ready(function() { 
    $('input[type="button"]').attr('disabled', true); 
    $('textarea').on('keyup',function() { 

     $("textarea").each(function() { 

     if ($(this).val() != "") { 

      $('input[type="button"]').attr('disabled', false); 

     } else { 

      $('input[type="button"]').attr('disabled' , true); 
     } 
     });  
    }); 
    }); 

回答

1

你應該使用一個變量,並設置它,如果一個textarea的未填充

$(document).ready(function() { 

    var button = $('button'); 
    var textareas = $('textarea'); 

    textareas.on("keyup", function() { 
    var disabled = false; 
    textareas.each(function() { 
     if (!$.trim($(this).val())) { 
     disabled = true; 
     } 
    }); 
    button.attr('disabled', disabled); 
    });  

}); 

另外我會用!$.trim($(this).val())來檢查文本文件是否爲空。這也禁止空字符串。 如果允許空字符串,只能檢查!$(this).val()

您更新的jsfilddle在這裏:https://jsfiddle.net/2wkb9wmq/8/