【やりたい事】
WordPressでお問い合わせフォームを作成しています。
「MW WP Form」プラグインを使用しています。
・未入力チェックを行いたい。
・問い合わせフォームで特定のラジオボタンにチェックを入れると追加項目が表示されるようにしたい。
例)問い「同居されている18歳未満のお子さんはいますか?」ラジオボタン「Yes」「No」
「Yes」にチェックをいれた場合、「同居されている18歳未満のお子さんの人数を入力してください」というテキストボックスを表示させたい。
JavaScript
1jQuery().ready(function ($) { 2 $(".check-more input[type='radio']").change(function() { 3 $("input[type='radio'][name='"+ $(this).attr("name")+ "']").each(function() { 4 if($(this).is(":checked")) { 5 $(this).parent().addClass("selected"); 6 if($(".selsect").hasClass("selected")) { 7 $('.display-more').slideDown(); 8 } 9 } else { 10 $(this).parent().removeClass("selected"); 11 if(!$(".selsect").hasClass("selected")) { 12 $('.display-more').slideUp(); 13 } 14 } 15 }); 16});
html
1<dl class="question1 check-more"> 2 <dt>同居されている18歳未満のお子さんはいますか?</dt> 3 <dd> 4 <label class="selsect"><input name="radio1" type="radio" value="yes"><span>Yes</span></label> 5 <label><input name="radio1" type="radio" value="no"><span>No</span></label> 6 </dd> 7</dl> 8<dl class="question2 display-more"> 9 <dt>同居されている18歳未満のお子さんの人数を入力してください</dt> 10 <dd><input type="text" name="text1"></dd> 11</dl>
【問題点】
送信ボタンを押した時にエラーチェックにひっかかるとページが更新されてしまうため、jsで付与した「selsected」クラスが外れてしまいます。
入力し直しとなってしまうため、リロードされてもクラスを保持させたままにする良い方法はないでしょうか?
js以外の方法でも構いません。
回答1件
あなたの回答
tips
プレビュー