前提・実現したいこと
不明のラジオボタンを押すと、選択肢が増えるようにはできたのですが
セレクトボックスからその他を選択した後、テキストボックスを表示させる処理がうまくいきません
追記、PC、タブレット、スマホブラウザに対応させたいです。
発生している問題・エラーメッセージ
エラーメッセージはなし
該当のソースコード
上手くいった方
php
1<head> 2<meta charset="UTF-8"> 3<title> </title> 4<script type="text/javascript" src="blood_type_script.js"></script> 5<script type="text/javascript" src="allergy_script.js"></script> 6</head> 7血液型を選択してください。<br /> 8<input type="radio"name="blood_type_id"value="1"onclick="checkradio('inline');">A型 9<input type="radio"name="blood_type_id"value="2"onclick="checkradio('inline');">B型 10<input type="radio"name="blood_type_id"value="3"onclick="checkradio('inline');">AB型 11<input type="radio"name="blood_type_id"value="4"onclick="checkradio('inline');">O型 12<input type="radio"name="blood_type_id"value="99"onclick="checkradio('none');">不明 13</br> 14<span id="RH_type"hidden> 15<input type="radio"name="Rh_type_id"value="1">RH+ 16<input type="radio"name="Rh_type_id"value="2">RH- 17<input type="radio"name="Rh_type_id"value="">不明</br> 18</span>
blood_type_script.js
javascript
1document.getElementsById('RH_type').style.display=none;//追記、不要と判断したため削除しました 2function checkradio( disp ) 3{ 4 document.getElementById('RH_type').style.display = disp; 5} 6
上手くいかない方
php
1<head> 2<meta charset="UTF-8"> 3<title> </title> 4<script type="text/javascript" src="blood_type_script.js"></script> 5<script type="text/javascript" src="allergy_script.js"></script> 6</head> 7アレルギー情報を入力してください。</br> 8<select name="allergy" multiple> 9<?php 10$names=array('','卵','乳','小麦','海老','蟹','落花生','蕎麦','アーモンド','鮑','烏賊','いくら','オレンジ','カシューナッツ','キウイフルーツ','牛肉','胡桃','胡麻','鮭','鯖','大豆','鶏肉','バナナ','豚肉','松茸','桃','その他'); 11for($i=1;$i<=25;$i++) 12{ 13 echo "<option value={$i}>{$names[$i]}</option>"; 14} 15echo "<option value='26'onclick='click('inline')'>{$names[26]}</option>" ;//追記、ご指摘があったためclick()の中に、inlineを追加しました。 16?> 17</select></br> 18<span id="allergy"hidden> 19<input type=text name=allergy></br> 20<input type=text name=allergy></br> 21<input type=text name=allergy></br> 22</span>
allergy_script.js
javascript
1document.getElementsById('allergy').style.display=none;//追記、不要と判断したため削除しました 2function click( disp )//追記、ご指摘があったためcheck→clickと書き直しました。 3{ 4 document.getElementById('allergy').style.display = disp; 5}
試したこと
スペルチェック
同じような機能のサンプルコードの確認
追記、回答者の方のコードを参考にしたところ、PCブラウザでの動作を確認しました。
補足情報(FW/ツールのバージョンなど)
XAMMP3.3.0
VSCode
初学者なので至らぬコード記述だとは思いますが、よろしくお願いします。
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2021/06/28 04:28
2021/06/28 04:36
2021/06/28 04:56
2021/06/28 05:00
2021/06/28 05:02
2021/06/29 03:53
2021/06/29 04:05
2021/06/29 05:22