主にJavascriptに関する質問です。
可動させたい内容として、
text、email、checkboxを、すべて記入(checkboxは1個チェックで可)すると、
送信の、disabledが解除される、といった内容です。
以下プログラミングですが、
どうにも目立つバグが2つあります。
1、一度記入やチェックしたものを削除しても、disabled(送信無効)に戻らない。
2、順番的にcheckboxを先に選ぶと、text、email、を記入しても、disabledが解除されない。
バグ箇所の修正など、可動可能なJavascriptの解答のほど、よろしくお願いします。
<form action="" method="POST"> <input type="text" id="txt" name="aaa" required onchange="manage(this)" /> <input type="email" id="ama" name="email" required onchange="manage(this)"/><br> <label><input type="checkbox" name="sample[]" value="1" onchange="manage(this)">選択肢1</label><br> <label><input type="checkbox" name="sample[]" value="2" onchange="manage(this)">選択肢2</label><br> <label><input type="checkbox" name="sample[]" value="3" onchange="manage(this)">選択肢3</label><br> <label><input type="checkbox" name="sample[]" value="4" onchange="manage(this)">選択肢4</label><br> <input type="submit" id="sager" value="送信" disabled> <input type="reset" value="やめとく"></input><!--キャンセル可能--> </form> <script> function manage() { const txtJAB = document.getElementById('txt'); const amaJAB = document.getElementById('ama'); const submJAB = document.getElementById('sager'); const chareJAB = document.querySelectorAll('input[name="sample[]"]:checked'); if (txtJAB.value != '') if (amaJAB.value != '') if (chareJAB.length === 0) { submJAB.disabled = true; } else { submJAB.disabled = false; } } </script>
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2022/09/27 02:07