• ベストアンサー

フォームの確認画面がうまく表示されません

フォームで氏名を入力して確認画面を出したいのですが、 確認画面で、名前が出ずにソースがそのまま表示されます。 どうしてもわからないので、どなたかよろしくお願いします。 <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>

質問者が選んだベストアンサー

  • ベストアンサー
  • jurarumin
  • ベストアンサー率34% (190/544)
回答No.1

一度、テキスト内容を変数に格納したら動作しましたよ。 後、「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>

macheriemari
質問者

お礼

早速のご回答をありがとうございました。 やってみましたら、できました。 助かりました!

その他の回答 (1)

回答No.2

まず、「+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); という様に「'」は不要です。

macheriemari
質問者

お礼

丁寧な説明をありがとうございました。 急にアンケートフォームを作成しなければならなくなったのですが、 文法も良く知らないため、似たようなサンプルを参考に書いています。 時間ができたらゆっくり勉強したいと思います。 また何かありましたらよろしくお願いしますね!

関連するQ&A

  • フォームで確認画面を表示させるにはどうすればいいのでしょうか?

    質問をご覧下さりありがとうございます。 <form action="18add.php" method="POST" name="form1"> <table> <tr> <th>番号(半角数字)</th> <td><input type="text" name="number" value=""></td> </tr> <tr> <th>名前</th> <td><input type="text" name="name" value=""></td> </tr> <tr> <td><input type="hidden" name="mode" value="add"></td> <td><input type="submit" name="submit" value="追加"></td> </tr> </table> </form> htmlでこんなフォームを作り、phpで $table_body = ""; if( isset( $_POST['mode'] ) ){ $mode = $_POST['mode']; $number = $_POST['number']; $name =$_POST['name']; } else{ $mode = ""; $number = ""; $name = ""; } if( $mode == "add" ){ $table_body .= "<tr>"; $table_body .= "<td>"; $table_body .= $number; $table_body .= "</td>"; $table_body .= "<td>"; $table_body .= mb_convert_encoding( $name, "SJIS", "EUC-JP" ); $table_body .= "</td>"; $table_body .= "</tr>"; } で一度入力された情報を確認する画面を作りたいのですが うまくいきません。 初心者なのでわかりやすく説明をつけてくださると大変助かります。

    • 締切済み
    • PHP
  • フォームで入力項目を全て別の確認画面に出したい

    JavaScriptでフォームを作成しています。 入力項目を別の確認画面に出したいのですが 組み合わせている内に、わからなくなってしまいました。どうかお助けください。(>_<) チェックボックスの所は、3つ以上チェックできないようにしてあります。 1.別ウィンドウ確認画面が出て確認する 2.OKならメールアドレスに送信&ありがとうございましたページへ(確認画面は閉じる) のようにしたいのですが、よろしくお願い致します。m(_ _)m ※尚、初心者の為何か失礼があったらすみません。 スクリプトでは足りない個所があるので、htmlを載せさせて頂きました。 ************************************************ <form name="myFORM" onClick="return check()"> <table> <tr><td> <table> <tr> <td> <input type="radio" name="plan" value="A"> A.</font></strong></div> </td> </tr> </table> <br> <table> <tr> <td> <input type="radio" name="plan" value="B"> B. </td> </tr> </table> <br> <table> <tr> <td>あ</td> <td> <input name="CB1" type="checkbox" id="CB12" value="あ"> </td> </tr> </table> チェックボックス全10項目中チェック3つまで<br> <br> *印は必須項目です<br> <table> <tr> <td>申込み内容</td> </tr> <tr> <td>会社名*</td> <td><input type="text" name="jimusho_name" size="30"></td> </tr> </table> テキストフォーム全9項目<br> <p>&nbsp; <input name="button" type="button" onClick="outdata();" value="送 信"> <input name="reset" type="reset" value="キャンセル">

  • 画面の2重起動をチェックする方法について

    画面の2重起動をチェックする方法について PHPかJavaScriptどちらで実現できるかわかりませんが... 【確認】ボタンを押下で【確認画面】を別画面で表示します。 既に【確認画面】が起動されていたら 【既に表示されています】OR【起動されている画面を前面に表示】など できないかなぁと思っています。 このようなご経験がある方、よろしくお願いします。 <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <meta http-equiv="content-style-type" content="text/css"> <title>2重起動チェックテスト</title> <script type="text/javascript"> function kogamen_check() { //**************************************************** //ここで確認画面(kakunin.php)が起動済かチェックできないでしょうか? //**************************************************** } </script> </head> <body> <table align = "center" cellspacing="0"> <form name="form1" action="kakunin.php" method="post" target="_blank" onSubmit="return kogamen_check()"> <tr> <td align="right">項目1</td> <td><input type="text" name="item1" size="10" maxlength="10"><br> </tr> <tr> <td align="right">項目2</td> <td><input type="text" name="item2" size="10" maxlength="10"><br> </tr> <tr> <td><br></td> <td align="center"> <input type="submit" name="kakunin" value="確認"> <input type="button" value="メニューへ" onClick="parent.location = 'menue.php'"> </td> </tr> </form> </table> </body> </html>

  • フォームの内容を確認するページをはさむ方法

    htmlのフォームに記入してもらった内容を、そのままデータに書き込むcgiに送信するのではなく、一回内容を表示した確認cgiをはさみたいのですが、どうすればよいのでしょうか。 とりあえず、今の状態は、htmlファイルから読み込むデータを"name","mail","coment"の3つとしてます。 enquete.htmlファイルの一部: <FORM method="POST" action="enquete.cgi"> <TABLE> <TR> <TD>名前</TD> <TD><INPUT type="text" name="name"></TD> <TD>メールアドレス</TD> <TD><INPUT type="text" name="mail"></TD> <TD>コメント</TD> <TD><INPUT type="text" name="coment"></TD> </TR> <INPUT type="submit" value=" 送 る ">    <INPUT type="reset" value="やり直す"> のような感じです。 これに確認cgiをはさんで、 enquete.html"確認ページへ" →kakunin.cgi"送る" →enquete.cgi"戻る" みたいな構成にしたいのですが、kakunin.cgiの実装の仕方を教えてください。また、それにともない、直す箇所も教えてください。 おねがいします。

    • ベストアンサー
    • CGI
  • メールフォームについて

    <HTML> <HEAD> <TITLE></TITLE> <SCRIPT language="JavaScript"> <!-- function startNavi(){ document.myform.Browser.value=navigator.appName; document.myform.Version.value=navigator.appVersion; } // --> </SCRIPT> </HEAD> <BODY> <CENTER> <FORM action="mailto:送り先Eメールアドレス" method="post" enctype="text/plain" name="myform" onSubmit="startNavi()"> <INPUT type="hidden" name="Browser"> <INPUT type="hidden" name="Version"> <TABLE border="0"> <TR><TD>名  前:</TD><TD><INPUT name="名前" size="20"></TD></TR> <TR><TD>Eメール:</TD><TD><INPUT name="Eメール" size="20"></TD></TR> <TR><TD>コメント:</TD><TD><TEXTAREA name="コメント" rows="5" cols="15"></TEXTAREA></TD></TR> </TABLE><BR> <INPUT type="submit" value="送信"> </FORM> </CENTER> </BODY> </HTML> と入力すれば、ブラウザ情報、名前、e-mail、コメントの情報がメールで送信されてきます。 こんな感じで、送信者のIPアドレスも記載されるようにするにはどうやってJavaScriptなどを記述すればいいでしょうか? 他の情報も記述することができるのならば、是非是非教えて下さい。(サイトでもOK)

  • PHPでのメールフォームにつてい。下記のソースで送信・受信できますか?

    それから、何処に、送信先のアドレスを入れればいいでしょうか?? <html lang="ja"> <head> <META http-equiv="Content-Type" content="text/html; charset=Shift_JIS"> <title>mail</title> </head> <body> <br> <h3>Mail Form</h3> <!-- error --> <?PHPif ($error) { echo $error; }else{?><!-- form --> <form enctype="multipart/form-data" action="<?PHP echo EXE; ?>" method="post"> <table> <tr> <td>題名</td> <td><input type="text" name="subj" size="34" value="題名"></td> </tr> <tr> <td>アドレス</td> <td><input type="text" name="mail" size="34" value="あなたのアドレス"></td> </tr> <tr> <td>名前</td> <td><input type="text" name="name" size="34" value="ここに名前"</td> </tr> <tr> <td>内容</td> <td> <textarea name="???" cols="50" rows="10" wrap="soft"> ここに内容</textarea> </td> </tr> <tr> <td> File </td><td><input type="file" name="file" size="28"> <input type="submit" value="送信"> </td></tr> </table> <br> </body></html>

    • ベストアンサー
    • PHP
  • フォームからのデータ送信について

    プログラミングの初心者です。 以下のソースでフォーム画面を作成しました。 これでデータベースへの書き込みができるのかどうかを教えてください。 よろしくお願いします。 <head> <script LANGUAGE="JavaScript"> <!--// function check(){ var strMSG; strMSG = document.search.MSG.value; document.open(); document.writeln('<html>\n<head>'); document.writeln('<title>送信内容確認</title>'); document.writeln('</head>'); document.writeln('<body>'); document.writeln('<form method="POST" action="send_data.php">'); document.writeln(Rsei); document.writeln(strMSG); document.writeln('<br>\n<br>\n<input type="submit" value="送 信"> '); document.writeln('<input type="button" value="修 正" onclick="history.back()">\n</form>'); document.writeln('</body>\n</html>'); document.close(); } //--> </script> </head> <body> <form name="search" method="POST"> ご意見お聞かせください<br> <textarea name="MSG"></textarea><br> <input type="button" value=" 確認 " onClick="check()"> <input type=reset value=" 取消 "><br> </form> </body> send_data.phpは以下の通りです。 <?php $con = mysql_connect("localhost","root",""); $selectdb = mysql_select_db("test",$con); $sql = "insert into table(msg) values('$_POST[MSG]')"; $result = mysql_query($sql,$con); mysql_free_result($result); mysql_close($con); ?> <html> <head><title>送信終了</title></head> <body>送信完了しました</body></html>

    • ベストアンサー
    • PHP
  • 2つのフォームに値を入れて計算

    2つのフォームを作り、その2つを計算したいのですがオブジェクトの指定の仕方がエラーが出てしまい(オブジェクトを指定してくださいと出ます)わかりません。 どうか教えてください。 ちなみにforなどは使わなくても大丈夫ですのでよろしくお願いします。 function kei() { var kei1 = 0; kei1=eval(document.A.a11.value) * eval(document.B.b21.value) ; document.C.c11.value = kei1; } <table border = 1> <form name="A"> <tr> <td> <input type = "text" size = 5 name = "a11"></input> </td> <td> <input type = "text" size = 5 name = "a12"></input> </td> <td> <input type = "text" size = 5 name = "a13"></input> </td> </tr> <tr> <td> <input type = "text" size = 5 name = "a21"></input> </td> <td> <input type = "text" size = 5 name = "a22"></input> </td> <td> <input type = "text" size = 5 name = "a23"></input> </td> </tr> </form> </table> <table boeder = 1> <tr> <input type = "button" onClick="kei()" value = "×"></input> </tr> </table> <table border = 1> <form name="B"> <tr> <td> <input type = "text" size = 5 name = "b21"></input> </td> <td> <input type = "text" size = 5 name = "b22"></input> </td> <td> <input type = "text" size = 5 name = "b23"></input> </td> </tr> <tr> <td> <input type = "text" size = 5 name = "b31"></input> </td> <td> <input type = "text" size = 5 name = "b32"></input> </td> <td> <input type = "text" size = 5 name = "b33"></input> </td> </tr> </form> </table> <table border = 1> <form name="C"> <tr> <td> <input type = "text" size = 5 name = "c11"></input> </td> <td> <input type = "text" size = 5 name = "c12"></input> </td> <td> <input type = "text" size = 5 name = "c13"></input> </td> </tr> <tr> <td> <input type = "text" size = 5 name = "c21"></input> </td> <td> <input type = "text" size = 5 name = "c22"></input> </td> <td> <input type = "text" size = 5 name = "c23"></input> </td> </tr> </form> </table>

  • HTMLでテーブルを作成した際、テーブル間にスペースが空いてしまいます

    HTMLでテーブルを作成した際、テーブル間にスペースが空いてしまいます。 スタイルシートを使用/使用せず、いずれの場合も変わりません。 会社のPCで表示した時になり、家ですると自動的に詰めて表示されるみたいです。 コードはいたってシンプルで・・・ <html><head><title>aaa</title> </head> <body> aaa <hr> <table border=1> <tr><td>名前</td><td><input type="text" name="name"></td></tr> </table> <table border=1> <tr><td>名前</td><td><input type="text" name="name"></td></tr> <tr><td>名前</td><td><input type="text" name="name"></td></tr></table> <table border=1> <tr><td>名前</td><td><input type="text" name="name"></td></tr> <tr><td>名前</td><td><input type="text" name="name"></td></tr> <tr><td>名前</td><td><input type="text" name="name"></td></tr> <tr><td>名前</td><td><input type="text" name="name"></td></tr> </table> </body> </html> 守秘義務があるので、今は中身を適当に書いてますが、書き方はこんな感じです。 スタイルシートやHTMLコードなど色々調べましたが、テーブルの中の文字などを 詰めたりする方法は載ってましたが、今の私の知識ではテーブル自体は左右にしか動けません。 宜しくお願いします。

    • ベストアンサー
    • HTML
  • サブウィンドウから親ウィンドウのフォームへの書き込み

    よろしくお願いします。 やりたい事は サブウィンドウを開いて サブウィンドウのテキストボックスに入力した内容を 親ウィンドウのテキストボックスに書き込みたいのです。 以下親ウィンドウ(oya.html) <html> <head> <script type="text/javascript"> <!-- function search(){ window.open( 'sub.html' ,'childwin', "width=350,height=250,location=no,menubar=no,toolbar=no,resizable=yes,scrollbars=yes" ); } --> </script> </head> <body> <form name="mainform" method="POST" action="hoge.php"> <TABLE border="1"> <TR> <TD>A:<INPUT type="text" name="A" id="A"></TD> </TR> <TR> <TD>B:<INPUT type="text" name="B" id="B"></TD> </TR> <TR> <TD><input type="button" onclick="search();return false;" value="サブウィンドウ"></TD> </TR> <TR> <TD><center><input type="submit" name="exec" value="確認"></center></TD> </TR> </TABLE> </form> </body> </html> 以下サブウィンドウ(sub.html) <html> <head> <script type="text/javascript"> <!-- --> </script> </head> <body> <form name="subform"> <TABLE border="1"> <TR> <TD>A:<INPUT type="text" name="A" id="A"></TD> </TR> <TR> <TD>B:<INPUT type="text" name="B" id="B"></TD> </TR> <TR> <TD><input type="button" value="入力"></TD> </TR> </TABLE> </form> </body> </html> 以上です。親ウィンドウの中にformが入れ子状態になってしまうため javascriptで対応できないのかと思い質問させて頂きました。 ご教示お願いいたします。