テキストが入力されていないときにボタンを押せないようにしたいのですが下記のプログラムでは正常に動作せずテキストが入力されていないときでもボタンが押せてしまいました。
何が原因でボタンを押せるようになってしまうのでしょうか。
また、テキストが入力されている or 画像が選択されているときにボタンを押せるようにしたいのですがこれはどのようにして実装できるのでしょうか。
HTML
1<div class="post-card"> 2 <%= form_with model: @post do |f| %> 3 <%= f.text_area :text, placeholder: "投稿内容", class: "post-form-new", rows: "3",onkeyup: "ShowLength(value);" %> 4 <div class="new-buttons"> 5 <label> 6 <span class="filelabel"> 7 <%= f.file_field :image, id: "filesend" %> 8 <%= image_tag "photo", width: "32", height: "26"%> 9 </span> 10 </label> 11 12 <%= f.submit "投稿", class: "new-post-btn" %> 13 <p id="inputlength" class="new-textlength">0/140</p> 14 </div> 15 <% end %> 16</div>
jQury
1$(function() { 2 $('#submit').prop('disabled', true); 3 $('#text').on('keydown keyup keypress change', function() { 4 if ($(this).val().length > 0) { 5 $('#submit').prop('disabled', false); 6 } else { 7 $('#submit').prop('disabled', true); 8 } 9 }); 10});