http://5am.jp/javascript/form_change_javascript/ の「サンプルソース(セレクトボックス)」のような入力フォームを作成中です。セレクトボックスでの選択によって、その下に複数行表示させたいので、サンプルソースのgetElementByIdのところをgetElementsByClassNameにして実装してみたのですが動きませんでした…。
以下が自分が書いたコードになります。どこがおかしいのでしょうか?
(インデントがうまくできていなくて申し訳ないです。)
回答よろしくお願いします。
<script type="text/javascript">
function entryChange2() {
if (document.getElementById('changeSelect')) {
id = document.getElementById('changeSelect').value;
if (id == 'select1') {
document.getElementsByClassName('firstBox2').style.display = "";
document.getElementsByClassName('secondBox2').style.display = "none";
} else if (id == 'select2') {
document.getElementsByClassName('firstBox2').style.display = "none";
document.getElementsByClassName('secondBox2').style.display = "";
}
}
}
window.onload = requestChange;
</script>
<form>
<table border="0" cellspacing="0" cellpadding="0">
<tr>
<th>利用方法</th>
<td>
<select id="changeSelect" name="hoge" onchange="entryChange2();">
<option value="select1">初めて申し込む</option>
<option value="select2">2度目以降の利用</option>
</select>
</td>
</tr>
<!-- 表示非表示切り替え -->
<tr class="firstBox2">
<th>紹介者</th>
<td><input type="text" />
<p>紹介された方のお名前を入力してください。</p></td>
</tr>
<tr class="firstBox2">
<th>紹介者のメールアドレス</th>
<td><input type="text" />
<p>紹介された方のメールアドレスを入力してください。</p></td>
</tr>
<!-- 表示非表示切り替え -->
<tr class="secondBox2">
<th>名前</th>
<td><input type="text" />
<p>名前を入力してください。</p></td>
</tr>
<tr class="secondBox2">
<th>会員番号</th>
<td><input type="text" />
<p>会員番号を入力してください。</p></td>
</tr>
</table>
</form>
No.1ベストアンサー
- 回答日時:
document.getElementsByClassName( class )は、引数「class」に指定した
クラス名を持つ全ての要素への参照を格納した配列を返すメソッドです。
したがって、個々の配列の内容のstyle要素を変更するロジックが、必要です。
ちなみに、jqueryを使用すると簡単にできますので、jqueryを勉強されたら良いと
思います。
参考URL:http://alphasis.info/2013/07/javascript-dom-docu …
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) Selenium.ChromeDriverの使い方について 7 2022/09/22 06:43
- AJAX JavascriptからPHPへのAjax通信でnullが返ってくる 3 2022/08/03 22:00
- PHP htmlで複数の個数入力欄を表示させるには 1 2022/09/20 03:11
- JavaScript jQueryで同じクラス名のものを別物として扱いたい 1 2022/06/17 14:14
- JavaScript 入力フォームの javascript で メールアドレスの正規チェックをを行い、ボタンをクリックして 2 2022/04/27 16:06
- JavaScript sessionStorageを調べています。 1 2023/06/20 12:41
- HTML・CSS ボタンをクリックした時に、入力フォームのすぐ下部に、「入力欄が空白です」というテキストメッセージが表 1 2022/04/27 16:25
- JavaScript フォームが空欄の時にフォームの外をクリックすると、エラーが出るコードを調べています。 1 2023/06/25 11:51
- JavaScript EasyUIのSubGrid(jquery)におけるObjectに入れた連想配列について 1 2022/05/02 11:21
- HTML・CSS テーブルタグのセルの幅の一部だけを指定 1 2023/03/12 12:02
関連するカテゴリからQ&Aを探す
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
カレンダーに印を付けたい
-
任意に文字数指定のできる原稿...
-
縮小画像をマウスオーバーで画...
-
複数画像のロールオーバー
-
日にち指定によるテーブル/行の...
-
スワップイメージ+リンクの変更
-
JavaScript 保守性の高めたい 2
-
連動テーブルのクロスハイライト
-
このjavascriptがわかりません
-
selectのonChangeが動作しません
-
半透明のテーブル
-
JavaScriptのfileオブジェクト...
-
C言語クイックソートの比較総回...
-
ラジオボタンで選択した項目の...
-
ラジオボタンの選択でチェック...
-
VBScriptでpingを実行(ブラウザ...
-
confirmで2行メッセージを出力する
-
onchangeイベントを強制的に発...
-
クリックの度に加算していくには?
-
出発駅A、到着駅Bを選択すると...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
<JavaScript>tableタグを入力不...
-
テーブルの行数を可変長にした...
-
画面表示とともに、テーブルの...
-
selectのonChangeが動作しません
-
【jQuery】tableループ内のIDの...
-
javascriptで画像をテーブルに...
-
Tableの枠線(内・外)色を変更
-
テキストエリアに入力した改行...
-
クリックごとに文字色が交互に...
-
javascript でテーブル操作
-
JQueryでテーブルの行を追加し...
-
javascriptで<table>背景色の取得
-
idの振り直しについて
-
テーブルのセルのクリック時、...
-
<iframe>内にHTMLをランダム表...
-
javascriptでスロットマシン
-
プルダウンメニューを表の中に...
-
連動テーブルのクロスハイライト
-
簡単なJavaスロットマシーンに...
-
jquery にて、アラートダイアロ...
おすすめ情報