お世話になっております。
初歩的な質問ですみません。
現在JS(React,gatsby)でチェックボックス関係の実装をしているのですが、郵送とメールの選択肢があり、デフォルトでメールにチェックが入っている仕様にしたいと思っております。
「デフォルトでチェックが入っている」
は実現できたのですが、再度チェックをクリックしてもチェックボックスが外れなくなってしまいました。。。
しかし、true,falseの切り替えは機能しているようで、画像のように「メールにチェックが入っていると、メールアドレスが必須項目になる、チェックを外したら必須が外れる。確かにアドレスは必須から消えたがチェックボックスがチェックされたまま」という状態になってしまいました(前後の写真を添付します。)
どうすればいいでしょうか。
以下実装コードです。
JS
1 2const ContactPage = ({ location }) => { 3 const [isEmail, setIsEmail] = useState(true); 4 const [isPost, setIsPost] = useState(false); 5 const formRef = React.useRef(null); 6 7 const handleActiveEmail = () => { 8 setIsEmail(!isEmail); 9 }; 10 11 const handleActivePost = () => { 12 setIsPost(!isPost); 13 }; 14 15~ 16 17 18<div className="form-check"> 19 <input type="checkbox" name="how_to[]" id="how_to_email" value="how_to_email" className="" checked onClick={() => {handleActiveEmail();}} /> 20 <label htmlFor="how_to_email" className="">メール</label> 21</div> 22<div className="form-check"> 23 <input type="checkbox" name="how_to[]" id="how_to_post" value="how_to_post" className="" onClick={() => {handleActivePost();}}/> 24 <label htmlFor="how_to_post" className="">郵送</label> 25</div> 26 27~
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。