フォームでselect要素の内容によって
次のフォーム部品を条件分岐させたいと思うのですが、
なぜかスマホでうまく挙動しません。
html
1<form id="form" action="test.php" method="post"> 2 <div class="form-group"> 3 <p class="form-title">ご連絡方法</p> 4 <span class="select-area"> 5 <select name="ご連絡方法" id="select" class="validate[required]" onChange="changeSelect();"> 6 <option>選択してください</option> 7 <option value="メールアドレス">メールアドレス</option> 8 <option value="LINE">LINE</option> 9 <option value="Facebook">Facebook</option> 10 </select> 11 </span> 12 </div> 13</form> 14<div class="form-group form-select form0"> 15 <p class="form-title">ご連絡先</p> 16 <input type="text" name="ご連絡先" placeholder="ご連絡先をご入力ください" class="validate[required]"> 17</div> 18<div class="form-group form-select form1"> 19 <p class="form-title">ご連絡先</p> 20 <input type="text" name="ご連絡先" placeholder="メールアドレス" class="validate[required]"> 21</div> 22<div class="form-group form-select form2"> 23 <p class="form-title">ご連絡先</p> 24 <input type="text" name="ご連絡先" placeholder="LINEID" class="validate[required]"> 25</div> 26<div class="form-group form-select form3"> 27 <p class="form-title">ご連絡先</p> 28 <input type="text" name="ご連絡先" placeholder="FBアカウント" class="validate[required]"> 29</div>
javascript
1function changeSelect(){ 2 $('.form-select').css('display', 'none'); 3 4 var selectVal = $('#select').val(); 5 if(selectVal == 'メールアドレス'){ 6 $('.form0').css('display', 'block'); 7 }else if(selectVal == 'LINE'){ 8 $('.form1').css('display', 'block'); 9 }else if(selectVal == 'Facebook'){ 10 $('.form2').css('display', 'block'); 11 }else{ 12 $('.form0').css('display', 'block'); 13 } 14}
こちらがonChange()を用いたもので、
javascript
1$('#select').on('change', function(){ 2 $('.form-select').css('display', 'none'); 3 4 var selectVal = $('#select').val(); 5 if(selectVal == 'メールアドレス'){ 6 $('.form1').css('display', 'block'); 7 }else if(selectVal == 'LINE'){ 8 $('.form2').css('display', 'block'); 9 }else if(selectVal == 'Facebook'){ 10 $('.form3').css('display', 'block'); 11 }else{ 12 $('.form0').css('display', 'block'); 13 } 14});
こちらがchange()を用いたものです。
上のselectでメールアドレス、LINE、FBの選んだものに合わせてplaceholderの文字を変えたいと思い、チャレンジして、PC上では変化するのですが、スマホだと変化しません。。
上記二つともうまくいきませんでした。。
どなたかお分かりの方いらっしゃいましたら教えていただけると幸いです。。
