質問: ### 前提・実現したいこと JavaScriptでチェックかつ入力したら有効になるボタンを実装したいです。 チェックボックス1つ、テキストボックス1つのフォームを作りました。 チェックボックスを選択状態かつテキストボックスに文字を入力したときのみ有効で、片方または両方が選択・未入力の時はボタンが無効になるようにしたいです。 チェックボックスをクリックするときも、文字を入力したときもリアルタイムでボタンの有効・無効が切り替わるようにしたいです。 できれば条件分岐などでフォームは1つを有効無効を切り替えて使用したいです。 よろしくお願いいたします。 ### 発生している問題・エラーメッセージ エラーメッセージは出ていません。 が、動かしてみると挙動がおかしく、片方しか有効になっていないのにボタンが押せたり、チェックボックスも入力もしているのにボタンが無効になっていたり、、といった状態です。 ### 該当のソースコード checkbox:チェックボックス Number:テキストボックス linkBtn:ボタン ``` $(function() { $(".linkBtn").prop("disabled", true); $("[name='checkbox']").on('click', function() { if ($("[name='checkbox']").prop('checked')) { $(".linkBtn").prop("disabled", false); $(".btn").removeClass("disabled"); } else { $(".linkBtn").prop("disabled", true); $(".btn").addClass("disabled"); } }); $("[name='Number']").on('keydown keyup keypress change', function() { if ($("[name='checkbox']").val().length > 0) { if($("[name='checkbox']").prop('checked')) { $(".linkBtn").prop("disabled", false); $(".btn").removeClass("disabled"); }else{ $(".linkBtn").prop("disabled", true); $(".btn").addClass("disabled"); } } else { if($("[name='checkbox']").prop('checked')) { $(".linkBtn").prop("disabled", false); $(".btn").removeClass("disabled"); }else{ $(".linkBtn").prop("disabled", true); $(".btn").addClass("disabled"); } } }); }); ``` ``` ようこそ Welcome Number 次へ ``` ### 補足情報(FW/ツールのバージョンなど)
回答: こちらを参考に、処理に初期値を追加して実装できました。 ありがとうございました。