こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

締切り済みの質問

セレクトボックスについて

<script type="text/javascript">
function entryChange(){
if(document.getElementById('changeSelect')){
id = document.getElementById('changeSelect').value;
if(id == '0'){
document.getElementById('selectbox1').style.display = "none";
document.getElementById('selectbox2').style.display = "none";
document.getElementById('selectbox3').style.display = "none";
}
if(id == '1'){
document.getElementById('selectbox1').style.display = "";
document.getElementById('selectbox2').style.display = "none";
document.getElementById('selectbox3').style.display = "none";
}
if(id == '2'){
document.getElementById('selectbox1').style.display = "none";
document.getElementById('selectbox2').style.display = "";
document.getElementById('selectbox3').style.display = "none";
}
if(id == '3'){
document.getElementById('selectbox1').style.display = "none";
document.getElementById('selectbox2').style.display = "none";
document.getElementById('selectbox3').style.display = "";
}
}
}
window.onload = entryChange;
</script>

↑こちらは表示/非表示の処理をしています。

<select id="changeSelect" name="number" onchange="entryChange();">
<option value="0">未選択</option>
<option value="1">リスト1</option>
<option value="2">リスト2</option>
<option value="3">リスト3</option>
</select>

<select name="number" id="selectbox1" style="display:none">
<option value="東京都">東京都</option>
<option value="京都府">京都府</option>
</select>

<select name="number" id="selectbox2" style="display:none">
<option value="北海道">北海道</option>
<option value="沖縄県">沖縄県</option>
</select>

<select name="number" id="selectbox3" STYLE="display:none">
<option value="兵庫県">兵庫県</option>
<option value="大阪府">大阪府</option>
</select>

<input type="submit" value="送信">

(1)「未選択」のまま送信すると「大阪府」が送信されます。
(2)「リスト1」→「沖縄県」を選択 「大阪府」が送信されます。(リスト2も同じ事になります。)
(3)「リスト3」→「兵庫県」を選択 「兵庫県」と送信されます。
リスト3以外を選択するとなぜか「大阪府」が送信されます。
初心者なりに色々調べたのですが解決できず困っております。
よろしくお願いします。

投稿日時 - 2012-10-28 18:22:19

QNo.7770509

困ってます

このQ&Aは役に立ちましたか?

0人が「このQ&Aが役に立った」と投票しています

回答(1)

ANo.1

はじめまして。

CSSのdisplayプロパティは単純に表示形式を制御しているだけです。
FORMのSELECTタグにdisplay:noneを適用した場合非表示になりますが、SUBMITをすればSELECTタグの値も送信されます。

非表示のSELECT要素を送信したくない場合はJavaScriptで各SELECTタグのdisabledプロパティをtrueに設定して下さい。

投稿日時 - 2012-10-28 21:59:40

お礼

上手く送信されました。
ありがとうございました。

投稿日時 - 2012-10-29 01:05:01

あなたにオススメの質問