No.2ベストアンサー
- 回答日時:
すみません。
土日出かけていたため、回答が遅れました。No.1に挙げた2の方法で書いたHTMLを載せますので、参考にしてみて下さい。
(行頭の全角スペースは、半角スペースやタブに変換してください。)
■Aページ
※<HEAD>~</HEAD>内に
<SCRIPT language="javascript"><!--
function kakunin(f) {
var prm = new Array();
if (f.namae.value) prm[prm.length] = "namae="+escape(f.namae.value);
if (f.adress.value) prm[prm.length] = "adress="+escape(f.adress.value);
for (var i=0; i<f.sexy.length; i++)
if (f.sexy[i].checked) prm[prm.length] = "sexy="+escape(f.sexy[i].value);
prm[prm.length] = "os="+f.os.options[f.os.selectedIndex].value;
if (f.akosu.value) prm[prm.length] = "akosu="+f.akosu.value;
if (f.bkosu.value) prm[prm.length] = "bkosu="+f.bkosu.value;
if (f.ckosu.value) prm[prm.length] = "ckosu="+f.ckosu.value;
prm[prm.length] = "siharai="+escape(f.siharai.options[f.siharai.selectedIndex].value);
for (var i=0; i<f.omake.length; i++)
if (f.omake[i].checked) prm[prm.length] = "omake="+escape(f.omake[i].value);
prm[prm.length] = "kansou="+escape(f.kansou.value);
location.href = "b.html?"+prm.join('&');
return false;
}
//--></SCRIPT>
※FORMタグにonSubmitを加える。
<FORM method="POST" action="mailto:xxxxx@xxx.xx.xx" enctype="text/plain" onSubmit="return kakunin(this)">
※name属性にnameという値はあまりよくないので、namaeに変更
<INPUT size="30" type="text" maxlength="30" name="namae"></TD>
※確認ボタンをSUBMITに変更
<INPUT type="submit" value="確認">
■Bページ
<HTML>
<HEAD>
<META http-equiv="Content-Type" content="text/html; charset=Shift_JIS">
<TITLE></TITLE>
<SCRIPT language="JavaScript"><!--
var FORM = new Array();
// パラメータ解析
var buffer = location.search.substr(1);
var pairs = buffer.split("&");
for (var i in pairs) {
var pair = pairs[i].split('=');
if (FORM[pair[0]]) FORM[pair[0]] += "\0"+unescape(pair[1]);
else FORM[pair[0]] = unescape(pair[1]);
}
function makeTR(sbj,val) {
return '<TR><TD width="25%">' + sbj + '</TD><TD width="75%">' + val + '</TD></TR>';
}
function drawHidden() {
for (var p in FORM) {
var val = FORM[p].split(/\0/);
for (var n in val)
document.writeln('<INPUT type="hidden" name="'+p+'" value="'+val[n]+'">');
}
}
//--></SCRIPT>
</HEAD>
<BODY bgcolor="#ffffcc">
<P align="center"><B><FONT size="+2">確認してください</FONT></B></P>
<FORM method="GET" action="mailto:xxxxx@xxx.xx.xx" enctype="text/plain" name="fomu">
<TABLE border="1" width="414" align="center">
<SCRIPT language="JavaScript"><!--
if (FORM["namae"]) document.writeln(makeTR('名前', FORM["namae"]));
if (FORM["adress"]) document.writeln(makeTR('住所', FORM["adress"]));
if (FORM["sexy"]) document.writeln(makeTR('性別', FORM["sexy"]));
if (FORM["os"]) document.writeln(makeTR('OS', FORM["os"]));
var sh = new Array();
if (FORM["akosu"]) sh[sh.length] = '01:' + FORM["akosu"] + "個";
if (FORM["bkosu"]) sh[sh.length] = '02:' + FORM["bkosu"] + "個";
if (FORM["ckosu"]) sh[sh.length] = '03:' + FORM["ckosu"] + "個";
if (sh.length) document.writeln(makeTR('商品', sh.join(' ')));
if (FORM["siharai"]) document.writeln(makeTR('購入方法', FORM["siharai"]));
if (FORM["omake"]) {
var omk = FORM["omake"].split(/\0/);
if (omk.length) document.writeln(makeTR('おまけ', omk.join(' ')));
}
if (FORM["kansou"]) {
if (FORM["kansou"]) document.writeln(makeTR('感想', FORM["kansou"].replace(/\r\n|\r|\n/g, "<BR>")));
}
drawHidden();
//-->
</SCRIPT>
</TABLE>
<CENTER><INPUT type="submit" value="送信"></CENTER>
</FORM>
</BODY>
</HTML>
正常に確認ページが表示され、その内容で送信できることは確認しましたが、actionにメールアドレスをいれてうまくいくかは分かりません。
どこかのフォームでコードサービスを利用した方が楽かもしれませんよ。
leaz024さん、今晩は!leaz024さんから頂いたソースを早速コピペして
実際に試してみたところ・・・す・すごいです!!
本当に有難う御座いました。
ついでと言ってはなんなんですが、No.1に挙げた1の方法で書いたソースを
今後の参考にしたいので、(見てみたいんです。)また、教えてもらえないでしょうか?
No.1
- 回答日時:
確認画面を表示するにも、いろいろな方法があります。
1.フォームの内容を参照して確認ページを生成し、document.write でウィンドウを上書きする。
※2ほどの難解さはないが、全HTMLを出力するのでデザインの変更が面倒
2.GET渡しで確認ページを表示し、location.search(フォーム内容)を解析してHTMLを生成する。
※フォームのデータ量に制限がある上に難解
HTMLを用意しておけるのでデザインの変更は容易
3.showModalDialog で確認ページを表示し、パラメータを介してフォーム内容を受け取りHTMLを生成する。
※比較的容易に作成できHTMLも用意しておけるが、IE限定
4.confirm(確認ダイアログ)を使う。
※見た目はよくないが、もっとも簡単に作成できる
1,2はページ遷移タイプで、3,4はダイアログ表示タイプになります。
どれも一長一短なので、各制限などから適切なものを選ぶとよいでしょう。
# 要らぬ心配かもしれませんが、アンケートの集計はどうやって行うのでしょうか?
この回答への補足
leaz024さん、返事ありがとうございます!
私、間違えていました「アンケートフォーム」じゃなく「メールフォーム」です。
こんな事も間違えてしまう超素人なので質問が下手ですいません。
4つの方法をあげてもらいましたが、たぶん私がやろうとしてるのは「1」か「2」だと思います。(どちらが私のやろうとしてる事に適しているのか分かりません)
やりたい事は、Aページから「フォームに記入」→「確認ボタンを押す」
→Bページに「確認内容表示」→そのままBページから「送信」です。
(確認内容表示する際フォームに記入があった項目だけを表示し
メールで受け取る際にも確認内容表示された内容と同じにしたいのです。)
ちなみに、Aページ・Bページのソースを下にコピペします。
どこにどの様なプログラムをいれたらいいのか教えて下さい。
プログラムを作成する技術は無くコピペするのがやっとなんです。
ここからAページ*****************************************
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<HTML>
<HEAD>
<META name="GENERATOR" content="IBM WebSphere Homepage Builder V6.0.1 for Windows">
<META http-equiv="Content-Type" content="text/html; charset=Shift_JIS">
<META http-equiv="Content-Style-Type" content="text/css">
<TITLE></TITLE>
</HEAD>
<BODY>
<FORM enctype="text/plain" name="fomu">
<CENTER>
<TABLE border="1" width="414" height="74">
<TBODY>
<TR>
<TD>名前</TD>
<TD><INPUT size="30" type="text" maxlength="30" name="name"></TD>
</TR>
<TR>
<TD>住所</TD>
<TD><INPUT size="50" type="text" name="adress"></TD>
</TR>
<TR>
<TD width="83">性別</TD>
<TD width="267"><INPUT type="radio" name="sexy" value="男">男 <INPUT type="radio" name="sexy" value="女">女</TD>
</TR>
<TR>
<TD>OS</TD>
<TD><SELECT name="os">
<OPTION selected>なし</OPTION>
<OPTION value="win95">windowrs95</OPTION>
<OPTION value="win98">windowrs98</OPTION>
<OPTION value="winMe">windowrsMe</OPTION>
<OPTION value="winXp">windowrsXp</OPTION>
</SELECT></TD>
</TR>
<TR>
<TD width="83">商品</TD>
<TD width="267">01<INPUT size="5" type="text" name="akosu">個 02<INPUT size="5" type="text" name="bkosu">個 03<INPUT size="5" type="text" name="ckosu">個</TD>
</TR>
<TR>
<TD>購入方法</TD>
<TD><SELECT size="3" name="siharai">
<OPTION value="現金" selected>現金</OPTION>
<OPTION value="カード">カード</OPTION>
<OPTION value="銀行振込">銀行振込</OPTION>
</SELECT></TD>
</TR>
<TR>
<TD width="83">おまけ</TD>
<TD width="267"><INPUT type="checkbox" name="omake" value="A品">A品 <INPUT type="checkbox" name="omake" value="B品">B品 <INPUT type="checkbox" name="omake" value="C品">C品</TD>
</TR>
<TR>
<TD width="83">感想</TD>
<TD width="267"><TEXTAREA rows="2" cols="45" name="kansou"></TEXTAREA></TD>
</TR>
</TBODY>
</TABLE>
</CENTER>
<BR>
<CENTER><INPUT type="button" value="確認"></CENTER>
</FORM>
</BODY>
</HTML>
ここからBページ***************************************
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<HTML>
<HEAD>
<META name="GENERATOR" content="IBM WebSphere Homepage Builder V6.0.1 for Windows">
<META http-equiv="Content-Type" content="text/html; charset=Shift_JIS">
<META http-equiv="Content-Style-Type" content="text/css">
<TITLE></TITLE>
</HEAD>
<BODY bgcolor="#ffffcc">
<P align="center"><B><FONT size="+2">確認してください</FONT></B></P>
<FORM method="POST" action="mailto:xxxxx@xxx.xx.xx" enctype="text/plain" name="fomu">
<CENTER><INPUT type="submit" value="送信"></CENTER>
</FORM>
</BODY>
</HTML>
*****以上です。****************************************
私がしようとしてる事は可能なのでしょうか?お願い致します。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- PHP php 入力画面から確認表示画面へ情報の受け渡しについて。 1 2023/06/07 18:00
- アプリ Edgeを操作するアプリについて 4 2023/05/11 22:48
- PHP PHPで入力フォームでデータを確認表示画面まで送る流れを日本語で理解したいのです。 1 2023/05/29 19:12
- HTML・CSS htmlで画面遷移させたい 1 2022/10/28 18:19
- C言語・C++・C# C言語プログラム変更 2 2022/12/21 15:03
- PHP htmlspecialcharsが機能していないです。 バグですか? 1 2022/04/05 01:22
- ホームページ作成・プログラミング CGIが実行可能なHP領域又はレンタルサーバーでおすすめの所を教えてください 現在ホームページ領域の 1 2023/01/01 11:47
- その他(プログラミング・Web制作) 入力フォームへ、データを自動的に入力するプログラム。どうやって作る? 4 2023/01/16 10:24
- PHP ここでの ②if($su_d<>"")の比較演算子 を使う理由は 1 2022/03/26 02:33
- PHP 掲示板のセキュリティについてアドバイスお願い致します 1 2023/08/11 20:44
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
onchangeイベントを強制的に発...
-
開いた子ウィンドウにあるボタ...
-
formのfileの値をhiddenでも持...
-
onclickが動作しない
-
WordpressのCocoonというテーマ...
-
SendKeys()が一番最後に実行さ...
-
HTMLのテキストボックスへのド...
-
JavaScriptでIE上のボタンクリック
-
innerHTML内では改行は禁止?
-
コードレビューをお願いします。
-
BackSpaceしたい(QNo.2734284の...
-
任意の<DIV></DIV>の中に計算結...
-
javaScriptの変数をJavaの変数...
-
JSPファイルにJavaScriptを埋め...
-
JavaScriptのfileオブジェクト...
-
Javascriptで'(シングルクォー...
-
VB.NETで<Input>タグ、<text...
-
javascriptで作成されたテーブ...
-
window.openで開いた子ウィンド...
-
クリックさせたいが、click()が...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
onchangeイベントを強制的に発...
-
JavascriptでDOM-based XSSの発...
-
onclickが動作しない
-
クリックさせたいが、click()が...
-
追加ボタンを押した際に ok ボ...
-
innerHTML内では改行は禁止?
-
ボタンかリンクをクリックする...
-
formのfileの値をhiddenでも持...
-
javaScriptの変数をJavaの変数...
-
JavaScriptのfileオブジェクト...
-
VB.NETで<Input>タグ、<text...
-
受け取ったパラメータが文字化け
-
JQueryでfunctionに引数としてI...
-
javascriptで作成されたテーブ...
-
jQueryで設定したイベントハン...
-
開いた子ウィンドウにあるボタ...
-
コードレビューをお願いします。
-
ボタンをクリックするとテキス...
-
BackSpaceしたい(QNo.2734284の...
-
URL 判定
おすすめ情報