htmlとJavaScriptで、アンケートのようなものを作成しています。
ラジオボタン・チェックボックス・テキストエリア等で回答を選んで(書き込んで)もらい、
それぞれの結果を、吐きだしエリアへ表示させたいです。
※イメージとして…左のテーブルに質問内容があり、選択後「決定」ボタンを押すと、右側テーブル内にあるスペースにチェックされた項目が吐きだされる。といった感じです。
左側の質問項目の作成は終わっており(<input type="radio" name="seibetu" value="女">女)のように作成しました)、後はJS!と思ったのですが…
仕事で何年も前に触ったきりの為、まったく分からなくなってしまいました。。
「submitかな?」と思い、HP等も色々と検索してみたのですが、求めているものが見つからず…。
何か参考になるようなHPや、そのままコピーして使えるようなサンプルは御座いませんでしょうか。
宜しくお願い致します。
No.2ベストアンサー
- 回答日時:
内容がよくわからないので、要領のみのごく簡単なサンプルを…
「左のテーブル」がどんなので、どのように「吐き出しエリア」があるのかわからないので、formからreadonlyの別のformへコピーするような形で作成しています。
質問では「ボタンを押したら」になっていましたが、onchangeで同時に反映するようにしています。実は、IEではonchangeイベントがバブルしないようなのでこのままだとIEでは使えません。
(まぁ、とりあえずのサンプルなので…ボタンクリックにすればこのようなことはありませんね)
* 例ではinputのtype=radioとtextしか使っていないので、その分だけです。
* swithでの分岐に付け加えれば、他の要素でも対応可能でしょう。
(全角空白は半角に)
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN">
<html lang="ja">
<head><title>sample</title>
<meta http-equiv="Content-Style-Type" content="text/css">
<meta http-equiv="Content-Script-Type" content="text/javascript">
<style type="text/css">
#out input { border: 0; }
</style>
<script type="text/javascript">
<!--
function check(frm){
var i, source = frm.elements;
var dest = document.getElementById("out").elements;
for (i=0; i<dest.length;) dest[i++].value = "";
for (i=0; i<source.length; i++) copy(source[i]);
function copy(node){
switch(node.nodeName){
case "INPUT":
switch(node.type){
case "text":
set(node);
break;
case "radio":
if(node.checked) set(node);
}
}
}
function set(node){
var d = dest[node.name];
if(d) d.value = node.value;
}
}
//-->
</script>
</head>
<body>
<form name="form1" action="" method="" onchange="check(this)">
氏名:<input type="text" name="simei" value="">
<br>
性別:<input type="radio" name="seibetu" value="女">女
<input type="radio" name="seibetu" value="男">男
<br>
年齢:<input type="radio" name="age" value="10">10代
<input type="radio" name="age" value="20">20代
<input type="radio" name="age" value="30">30代
<input type="radio" name="age" value="40">40代
<input type="radio" name="age" value="50~">50代~
</form>
<hr style="margin:30px;">
<form id="out">
氏名:<input type="text" name="simei" value="" readonly>
<br>
性別:<input type="text" name="seibetu" value="" readonly>
<br>
年齢:<input type="text" name="age" value="" readonly>
</form>
</body>
</html>
この回答への補足
回答ありがとうございます!
確かに、内容について説明不足ですね・・・
左側のイメージは、こんな感じです↓
(セルの大きさがグチャグチャですが。。汗)
アンケートというより、テンプレート作成といった感じですね。
お客様の情報を入力し、テンプレートを作成。
それをまた別のツールにコピーし登録作業を行う。といったイメージです。
<Table Border="4" Width="600">
<Tr>
<Td ColSpan="4" Align="Center">
<B>希望日</B>
</Td>
</Tr>
<Tr>
<Td Valign="top" Width="25%" Height="10">
<input type="radio" name="kibou" value="1日">1日
<Br>
</Td><Td Valign="top" Width="25%" Height="10">
<input type="radio" name="kibou" value="2日">2日
<Br>
</Td>
<Td Valign="top" Width="25%" Height="10">
<input type="radio" name="irai" value="kibou">3日
<Br>
</Td>
<Td Valign="top" Width="20%">
<input type="radio" name="irai" value="kibou">その他
</Td>
</Tr>
<Br>
<Table Border>
<Tr>
<Td>連絡先</Td><Td><TEXTAREA cols="30" rows="1"></TEXTAREA></Td></Table>
<Table Border>
<Tr>
<Td>その他特記事項</Td><Td><TEXTAREA cols="30" rows="5"></TEXTAREA></Td></Table>
※この下に、「右側へ反映」のようなボタンを作り、それを押すと、内容が吐きだされるようにしたいです。
そのボタンの作り方もまだ調べきれていませんが、、
右側のイメージは、空白の吐きだしエリアです。
「右側へ反映」を押すと、以下のような内容で作成されるようにしたいです。
希望日:(ここにkibouの内容が反映)
連絡先:(ここに連絡先の右側に入力した内容が反映)
その他:(ここにその他特記事項の右側に入力した内容が反映)
といったイメージです。
よく考えてみると、左側も不備だらけですね…。
ご教示頂けると幸いです。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- JavaScript セレクトを全て選択されていないと、文字によるエラーメッセージを表示させるコードを調べています 2 2023/06/22 15:48
- JavaScript javascript作成してます。ラジオボタンで判定するコードを書いてます。 1 2023/07/18 11:03
- Access(アクセス) Accessで予定表を作成しようとしてます。 テーブル フィールド名 連番 オートナンバー型 年月日 2 2023/07/23 11:40
- JavaScript ①入力フォーム→②確認表示画面→③送信完了画面のコードを書いているのです、 入力フォームから受け取っ 2 2022/05/10 16:45
- Access(アクセス) Accessテーブルの結合で別々のテーブルのフィールドを組み合わせて値を出す方法について 2 2022/07/20 19:43
- JavaScript jsで診断コンテンツのページ内切り替えについて 1 2023/04/14 17:31
- JavaScript html javascriptにてWeb SQLを操作したい。 2 2022/12/16 17:43
- MySQL MySQL,JavaScript,PHPコードの結果を表示する方法を教えてください。 1 2023/02/13 17:49
- HTML・CSS ただいま勉強始めたての初心者です。フォームを縦並べにしたいです。 2 2022/11/20 17:18
- JavaScript 入力フォームの javascript で メールアドレスの正規チェックをを行い、ボタンをクリックして 2 2022/04/27 16:06
関連するカテゴリからQ&Aを探す
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
【診断テストの作り方】結果に...
-
ラジオボタンのチェックが外れ...
-
[JavaScript]ボタンを押下する...
-
return trueとreturn falseの用...
-
BackSpaceしたい(QNo.2734284の...
-
オブジェクト配列
-
チェックボックスで合計値を計...
-
onchange等のイベントハンドラ...
-
Acrobat Java Scriptについて教...
-
JavascriptからSQLへ繋ぎ方が分...
-
setIntervalの間隔を途中で変更...
-
jQuery テキストボックス読み取...
-
checkboxをクリックしてリロー...
-
チェックボックスのON/OFFに応...
-
プルダウン選択を変更すると、...
-
テーブルの行数を可変長にした...
-
<JavaScript>tableタグを入力不...
-
JavaScriptを用いてテキストボ...
-
テーブル内のチェックボックス...
-
selectboxのoptionタグのvalue...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
ラジオボタンにタブインデック...
-
データベースの値を判断してラ...
-
ラジオボタンのチェックが外れ...
-
ラジオボタンの値でリンク先を...
-
javascript作成してます。ラジ...
-
Jvasvriptのlengthで個数が取得...
-
ラジオボタンのValueを受け取り...
-
チェックされたラジオボタンに...
-
ラジオボタンの分岐方法に関して
-
ラジオボタンのリセット方法
-
ラジオボタンでdisabledとchecked
-
フォームPOST後「戻る」時のチ...
-
ラジオボタンのチェック数に応...
-
アンダーバーのname値は取得で...
-
ラジオボタンを使って、検索ペ...
-
ラジオボタン未チェックの場合...
-
リセットボタンでクリアできな...
-
javascriptによる動的なリンク...
-
javascriptでのアラート表示
-
【診断テストの作り方】結果に...
おすすめ情報