
はじめまして、ラジオボタンでの動的項目の変化についてわからないことがあり質問させていただきました。
質問は以下の通りです。
・ラジオボタンをクリックする度に指定した入力フォームに変化する。
(ラジオボタンが三種類あったとしたら、一つ目がチェックボタンでの回答形式。二つ目がラジオボタンでの回答形式。三つ目がテキストボックスでの回答形式といった感じです。)
・現在、onClickで関数を呼び出し変化させようとしていますが、うまくいきません。
・環境はJavaScript + PHP 、IEです。
どなたか、サンプルコードのURLかコードを記述して頂けませんでしょうか?
質問内容がわかりにくいと思いますがよろしくお願いします。
No.1ベストアンサー
- 回答日時:
> 現在、onClickで関数を呼び出し変化させようとしていますが、うまくいきません。
この場合はonchange()を使った方が良いですよ。
下に簡単なサンプルコードを貼っておきます。
入力フォームの切り替え部分はJavaScriptライブラリのjQuery(http://jquery.com/)を使っています。jQueryを使用しなくても実現できますが・・・。
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html lang="ja">
<head>
<meta http-equiv="content-type" content="text/html; charset=utf-8">
<meta http-equiv="content-style-type" content="text/css">
<meta http-equiv="content-script-type" content="text/javascript">
<script type="text/javascript" src="jquery-1.3.2.js"></script>
<script type="text/javascript">
<!--
function showCheck() {
var text = '<input type="checkbox" name="check" value="A"/>A '
+ '<input type="checkbox" name="check" value="B"/>B '
+ '<input type="checkbox" name="check" value="C"/>C';
$("#container").html("");
$("#container").html(text);
}
function showRadio() {
var text = '<input type="radio" name="radio" value="A"/>A '
+ '<input type="radio" name="radio" value="B"/>B '
+ '<input type="radio" name="radio" value="C"/>C';
$("#container").html("");
$("#container").html(text);
}
function showText() {
var text = '<input type="text" name="text"/>';
$("#container").html("");
$("#container").html(text);
}
//-->
</script>
</head>
<body>
<form>
<input type="radio" name="type" value="check" checked="checked" onchange="showCheck();"/>チェックボックス
<input type="radio" name="type" value="radio" onchange="showRadio();"/>ラジオボタン
<input type="radio" name="type" value="text" onchange="showText();"/>テキストフィールド
<div id="container">
<input type="checkbox" name="check" value="A"/>A
<input type="checkbox" name="check" value="B"/>B
<input type="checkbox" name="check" value="C"/>C
</div>
</form>
</body>
</html>
x_jouet_xさん
早速、回答していただきありがとうございます。
サンプルコードを実際に動作しようとしたのですがIEだと「オブジェクトを指定してください」とエラーが表示され、実行できませんでした。
お手数ですが、再度ご教示頂けないでしょうか?
なにぶん、学び始めた者ですみません・・・
以上よろしくお願いします。
No.2
- 回答日時:
> お手数ですが、再度ご教示頂けないでしょうか?
JavaScriptでDOMの処理を記述するのが面倒だったので、先のサンプルコードはjQueryというJavaScriptライブラリを使用していました。
説明不足ですみません・・・。
JavaScriptのみで記述すると以下のようになります。
以下で動作しないようであれば再びご指摘願います。
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html lang="ja">
<head>
<meta http-equiv="content-type" content="text/html; charset=utf-8">
<meta http-equiv="content-style-type" content="text/css">
<meta http-equiv="content-script-type" content="text/javascript">
<script type="text/javascript">
<!--
function showCheck() {
// id="container"要素の取得
var container = document.getElementById("container");
// id="container"要素配下の子要素を全て削除
while(container.firstChild) {
container.removeChild(container.firstChild);
}
// チェックボックスAの作成
var checkA = document.createElement("input");
checkA.type = "checkbox";
checkA.name = "check";
checkA.value = "A";
container.appendChild(checkA);
var textA = document.createTextNode("A ");
container.appendChild(textA);
// チェックボックスBの作成
var checkB = document.createElement("input");
checkB.type = "checkbox";
checkB.name = "check";
checkB.value = "B";
container.appendChild(checkB);
var textB = document.createTextNode("B ");
container.appendChild(textB);
// チェックボックスCの作成
var checkC = document.createElement("input");
checkC.type = "checkbox";
checkC.name = "check";
checkC.value = "C";
container.appendChild(checkC);
var textC = document.createTextNode("C");
container.appendChild(textC);
}
function showRadio() {
// id="container"要素の取得
var container = document.getElementById("container");
// id="container"要素配下の子要素を全て削除
while(container.firstChild) {
container.removeChild(container.firstChild);
}
// ラジオボタンAの作成
var radioA = document.createElement("input");
radioA.type = "radio";
radioA.name = "radio";
radioA.value = "A";
container.appendChild(radioA);
var textA = document.createTextNode("A ");
container.appendChild(textA);
// ラジオボタンBの作成
var radioB = document.createElement("input");
radioB.type = "radio";
radioB.name = "radio";
radioB.value = "B";
container.appendChild(radioB);
var textB = document.createTextNode("B ");
container.appendChild(textB);
// ラジオボタンCの作成
var radioC = document.createElement("input");
radioC.type = "radio";
radioC.name = "radio";
radioC.value = "C";
container.appendChild(radioC);
var textC = document.createTextNode("C");
container.appendChild(textC);
}
function showText() {
// id="container"要素の取得
var container = document.getElementById("container");
// id="container"要素配下の子要素を全て削除
while(container.firstChild) {
container.removeChild(container.firstChild);
}
// テキストフィールドの作成
var text = document.createElement("input");
text.type = "text";
text.name = "text";
container.appendChild(text);
}
//-->
</script>
</head>
<body>
<form>
<input type="radio" name="type" value="check" checked="checked" onchange="showCheck();"/>チェックボックス
<input type="radio" name="type" value="radio" onchange="showRadio();"/>ラジオボタン
<input type="radio" name="type" value="text" onchange="showText();"/>テキストフィールド
<div id="container">
<input type="checkbox" name="check" value="A"/>A
<input type="checkbox" name="check" value="B"/>B
<input type="checkbox" name="check" value="C"/>C
</div>
</form>
</body>
</html>
再度回答していただきありがとうございました!
実行確認が取れ参考にさせていただきたいと思います。
大変親切に回答していただきありがとうございました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- その他(プログラミング・Web制作) seleniumbasic chrome操作について 1 2023/03/29 15:40
- JavaScript javascript作成してます。ラジオボタンで判定するコードを書いてます。 1 2023/07/18 11:03
- システム CSVファイルのマッピング処理の省力化 1 2022/11/24 00:01
- その他(セキュリティ) Facebookアカウントを乗っ取られ、ログインも出来ずパスワードの再設定もできずに困っている 2 2023/02/17 14:24
- Microsoft ASP グーグルフォーム 1 2022/12/30 18:16
- 大学・短大 大学 統計学 2 2022/09/18 15:06
- 日本語 用言の活用組織はいかにして生成したか:或る試論 1 2022/06/30 05:41
- JavaScript ラジオボタンによるフォームの開閉を行いたい 3 2022/03/31 21:30
- Access(アクセス) マイクロソフト アクセス2021のフォームビュー作成でレイアウトを帳票形式から単票形式にあとから変更 1 2023/03/03 10:56
- Visual Basic(VBA) ExcelVBAでユーザーフォームでテキストボックスなどからセルに連続して入力するコーディングの際の 2 2022/06/29 22:51
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
ボタンの無効化
-
radio選択をクッキーに保存させ...
-
ラジオボタンの選択によってチ...
-
JavaScript ラジオボタン デ...
-
ラジオボタンのチェック数に応...
-
ラジオボタンのValueを受け取り...
-
VBA IE ラジオボタンに...
-
ラジオボタンの分岐方法に関して
-
ラジオボタンの未選択チェック...
-
新しくフォルダを作成したい
-
return trueとreturn falseの用...
-
<input>の選択肢をプルダウンメ...
-
文字数を数える際に空白、改行...
-
Selectボックスの幅を自動で広...
-
プルダウンで選択すると、DBの...
-
プルダウン 項目が多いので先頭...
-
チェックボックスのON/OFFでVal...
-
時間の比較は可能でしょうか?
-
HTMLのテキストボックスへのド...
-
【jQuery】input nameの文字列...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
ラジオボタンにタブインデック...
-
ラジオボタンのチェックが外れ...
-
javascript作成してます。ラジ...
-
ラジオボタンでdisabledとchecked
-
Jvasvriptのlengthで個数が取得...
-
データベースの値を判断してラ...
-
ラジオボタンのvalueとlabelの...
-
フォームPOST後「戻る」時のチ...
-
ラジオボタンでチェックした項...
-
if をいくつか重ねたら実行して...
-
javascriptからラジオボタンへ...
-
ラジオボタンでの動的項目の変...
-
ラジオボタンのリセット方法
-
JavaScript ラジオボタン デ...
-
js radioボタンの「name」を多...
-
jQueryで複数のラジオボタンを処理
-
チェックボックスとテキストボ...
-
jQueryを使った診断チェックシート
-
javascriptを使ってラジオボタ...
-
ラジオボタンのValueを受け取り...
おすすめ情報