- ベストアンサー
フォームの確認画面がうまく表示されません
フォームで氏名を入力して確認画面を出したいのですが、 確認画面で、名前が出ずにソースがそのまま表示されます。 どうしてもわからないので、どなたかよろしくお願いします。 <script LANGUAGE="JavaScript"> <!--// function check(){ document.open(); document.writeln('<html>\n<head>'); document.writeln('<title>送信内容確認</title>'); document.writeln('</head>\n<body>\n<table>'); document.write('<tr>\n<td>名前:</td>\n<td>'); document.write('+document.kakunin.NAME.value+'); document.writeln('</td>\n</tr>\n</table>'); document.writeln('</body>\n</html>'); document.close(); } //--> </script> </head> <body> <form NAME="kakunin" action="mailto:aaa@hotmail.com" method="POST" enctype="text/plain"> 名前<input type="text" name="NAME"><br><br> <input type="button" value=" 確認 " onClick="check()"> </body>
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
一度、テキスト内容を変数に格納したら動作しましたよ。 後、「document.write」は「’」ではなく「”」で囲みます。 <script LANGUAGE="JavaScript"> <!--// function check(){ var strName; strName = document.kakunin.NAME.value; document.open(); document.writeln('<html>\n<head>'); document.writeln('<title>送信内容確認</title>'); document.writeln('</head>\n<body>\n<table>'); document.write("<tr>\n<td>名前:</td>\n<td>"); document.write(strName); document.writeln('</td>\n</tr>\n</table>'); document.writeln('</body>\n</html>'); document.close(); } //--> </script> </head> <body> <form NAME="kakunin" action="mailto:aaa@hotmail.com" method="POST" enctype="text/plain"> 名前<input type="text" name="NAME"><br><br> <input type="button" value=" 確認 " onClick="check()"> </body>
その他の回答 (1)
- karumakaruma
- ベストアンサー率65% (65/100)
まず、「+document.kakunin.NAME.value+」が 表示される理由ですが document.write('+document.kakunin.NAME.value+'); 「+document.kakunin.NAME.value+」を 「'」で囲んでいるので「+document.kakunin.NAME.value+」自体を 文字列と認識しているからです。 ですので「+document.kakunin.NAME.value+」を そのまま表示しています。 次に、document.open()を行った時点で document.kakuninの存在は無くなります。 なぜかというと、open()した時点でそのドキュメント (HTMLソース)は新しい真っ白のドキュメントになるからです。 ですので、#1さんが書いているように document.open()の前に一度名前を変数に入れて document.write()でその変数を書き出します。 変数を書く時は document.write(strName); という様に「'」は不要です。
お礼
丁寧な説明をありがとうございました。 急にアンケートフォームを作成しなければならなくなったのですが、 文法も良く知らないため、似たようなサンプルを参考に書いています。 時間ができたらゆっくり勉強したいと思います。 また何かありましたらよろしくお願いしますね!
お礼
早速のご回答をありがとうございました。 やってみましたら、できました。 助かりました!