チェックボックスにチェックを入れるとセレクトボックスが表示されるようにしたいと思い、
お名前[テキストエリア]
ご住所[テキストエリア]
□特別指定します(ご希望の方はチェックして下さい)
という表示のページにJavascriptを追加し、
<body>
<script type="text/javascript">
<!--
function func() {
if ((!document.F1.C1.checked)) {
document.write("<SELECT NAME=\"有効月\" id=\"有効月\"><OPTION VALUE=\"指定なし\">お選び下さい<option>1<option>2<option>3<option>4<option>5<option>6<option>7<option>8<option>9<option>10<option>11<option>12</SELECT>");
}
}
// -->
</script>
<form name="F1" action="#">
<input type="checkbox" name="C1" value="指定します" onclick="func()">
指定します<br>
<br>
・
・
・
・
・
<input type="submit" value="送信">
</form>
としたところ、「特別指定します」のチェックボックスにチェックを入れても何も反応が無く、逆に、一旦入れたチェックを外すと、セレクトボックスが表示されるかわりに他のページ内容が全て消えて真っ白ページにセレクトボックスだけがあるという結果になってしまいます。
チェックボックスにチェックを入れるとその下にセレクトボックスが表示され、さらにその後に続く入力欄にも色々記入した上で「送信」ボタンをクリックしてフォームを送信できるという結果を得るにはどうしたら良いでしょうか?
No.3
- 回答日時:
・ ラジオボタンに替えてみました。
・ <select>タグは、最初から準備しておき、表示・非表示を切り替えることにしてみました。
以下のコードを参考にしてみてください。
------------------------------------------------------------
<html>
<head>
<style type="text/css">
#amonth {
visibility: hidden;
}
</style>
</head>
<body>
<script type="text/javascript">
<!--
function func(r) {
if (r.value==0) {
document.getElementById('amonth').style.visibility = 'visible';
} else {
document.getElementById('amonth').style.visibility = 'hidden';
}
}
// -->
</script>
<form name="F1" action="#">
<input type="radio" name="R1" value="0" onclick="func(this)">
特別指定します
<input type="radio" name="R1" value="1" onclick="func(this)">
指定しません
<br>
<br>
<select id="amonth" name="有効月" id="有効月">
<option value="指定なし">
お選び下さい
</option>
<option>
1
</option>
<option>
2
</option>
</select>
<hr />
AAAAAAAAAAAA
</form>
</body>
</html>
ご回答ありがとうございます。
教えていただいた方法は、たまたま、「どこでお知りになりましたか?」というラジオボタンでの選択肢で「その他」を選ばれた場合の「”その他”の詳細」を表示したり非表示にしたりするところにも参考にさせていただくことができます。
どうもありがとうございました!
No.2
- 回答日時:
ページの読み込みが完了した後document.writeを使うと、
ページ全体を書き換えてしまいます。
innerHTMLを使ったほうが良いです。
> ページの読み込みが完了した後document.writeを使うと、
> ページ全体を書き換えてしまいます。
そ…、そうだったんですか…。(^^;
そこのところの知識が全くなかったので、原因が理解できず、とても悩んでいました。
どうもありがとうございました!!
No.1ベストアンサー
- 回答日時:
全般的に見直しが必要です。
とくに、document.write()はやめた方がいいですね。
チェックをつけることで表示したり隠したりする方が現実的では?
あわせてdisabledを操作すれば、送るデータを制御できます
<style type="text/css">
#yukoduki{
display:none;
}
</style>
<script type="text/javascript">
function func(obj) {
var f=obj.form;
f.yukoduki.disabled=!obj.checked;
f.yukoduki.style.display=obj.checked?"block":"none";
}
</script>
<form id="F1" action="#">
<input type="checkbox" id="C1" value="指定します" onclick="func(this)"><label for="C1">指定します</label><br>
<SELECT NAME="yukoduki" id="yukoduki" disabled>
<OPTION VALUE="指定なし">お選び下さい</OPTION>
<option value="1">1</option>
<option value="2">2</option>
<option value="3">3</option>
<option value="4">4</option>
<option value="5">5</option>
<option value="6">6</option>
<option value="7">7</option>
<option value="8">8</option>
<option value="9">9</option>
<option value="10">10</option>
<option value="11">11</option>
<option value="12">12</option>
</SELECT>
<input type="submit" value="送信">
</form>
早々のご回答をどうもありがとうございます。
あれっ? disabledを使っても解決するとは思いませんでした。
「disabledだとグレーアウトするだけ」と最初から度外視していた上、これは質問文に書かなかったことではありますがセレクトボックスの数を複数にした場合の対応方法もわからなかったので。
styleって、こういう使い方があるんですね。
これだと、styleの名前を複数使うことで複数のセレクトボックスにも対応できました。
とても助かりました。どうもありがとうございました!!
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- JavaScript 以前の質問だと、どの条件でも配列が表示されてしまいます。 1 2022/07/09 11:40
- JavaScript セレクトボックスを2つ選択してメッセージなどを表示するには。~運賃検索プログラムを完成させたい~ 1 2022/07/22 11:10
- JavaScript セレクトボックスで配列を呼び出したい。 1 2022/07/08 20:14
- JavaScript sessionStorageを調べています。 1 2023/06/20 12:41
- JavaScript switch文のswitch(n)の部分を複数の値にするか、if文に変えてほしいです。 1 2022/07/27 17:18
- JavaScript セレクトボックスを2つ設けて選択して初めてメッセを表示 1 2022/07/27 12:15
- JavaScript セレクトを全て選択されていないと、文字によるエラーメッセージを表示させるコードを調べています 2 2023/06/22 15:48
- JavaScript console.logがどうしても2つ機能しないのでアドバイスをくださいお願いします 2 2022/07/07 22:13
- JavaScript コードレビューをお願いします。 1 2022/07/16 05:38
- JavaScript JavascriptからSQLへ繋ぎ方が分からない 3 2022/07/07 00:27
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
selectを使った計算
-
selectボックスの選択結果を変...
-
JavaScriptの質問です。どなた...
-
ラジオボタンとプルダウンを連...
-
プルダウン選択を変更すると、...
-
リストボックス内の重複したも...
-
セレクトボタンで特定の項目で...
-
javascriptで合計金額を算出し...
-
javascriptでセレクトボックス...
-
jqueryでセレクトメニュー+スク...
-
セレクトボックスを使用した、...
-
selectを変更不可にしたい
-
javascriptで計算フォームを作...
-
【JavaScript】プルダウンで数...
-
今日の日付を自動的にセレクト...
-
コードレビューをお願いします。
-
複数条件の入力チェックについて
-
return trueとreturn falseの用...
-
追加ボタンを押した際に ok ボ...
-
チェックボックスのON/OFFでVal...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
全てのselect要素をデフォルト...
-
javascriptでセレクトボックス...
-
Selectボックスの一覧表示方法
-
JavaScriptで<select>の<option...
-
プルダウン選択を変更すると、...
-
select要素のvalueを配列で取得...
-
selectを変更不可にしたい
-
<input>の選択肢をプルダウンメ...
-
ラジオボタンとプルダウンを連...
-
【JS】selectでchangeした時の...
-
VBScriptでHTMLのセレクトボッ...
-
リストボックス内の重複したも...
-
同じ名前のセレクトがある場合...
-
プルダウンの値によって活性・...
-
selectが変更されたらnameを指...
-
【javascript】連想配列からセ...
-
3つのselectでURLパラメータを...
-
複数のプルダウンを1つにまとめ...
-
selectボックスで選択数を制限...
-
セレクトボックスで配列を呼び...
おすすめ情報