クリアタイムをメールフォームに送って更に改変不可にする方法

このQ&Aのポイント
  • ゲームクリアでタイム計算→confirmを使ってクリアタイムのお知らせと管理人にメールするかどうかを確認→OKを選択したら、メールフォームをopen!名前とクリアタイムの項目を入れる(改変不可状態にしたい)
  • データのソースは端折ってますので分かりにくいかと思いますが、クリアタイムのデータを受け取れないエラーが発生しています
  • どこをどうすればいいのかわからず、「オブジェクトではありません」というエラーメッセージが表示されます
回答を見る
  • ベストアンサー

クリアタイムをメールフォームに送って更に改変不可にする方法…??

ゲームクリアでタイム計算→confirmを使ってクリアタイムのお知らせと管理人にメールするかどうかを確認→OKを選択したら、メールフォームをopen!名前とクリアタイムの項目を入れる(改変不可状態にしたい)…という流れで考えています。confirmまではうまくできるのですが…データのソースは端折ってますので分かりにくいかと思いますが… <head>部分 clear_moji=document.form1.timer1.value; kotae=confirm('クリアタイムは'+clear_moji+'です!'+'\n'+'この結果を管理人にメールで報告しますか?'); if(kotae==true){ mailWin=window.open('mail.html'); mailWin.document.Mform.TIME.value=clear_moji; return false;} <body>部分 <form name="form1"> <input type="button" name="button1" value="ここを押してゲームスタート" onClick="my_reset();mycheck(0);"><br> <input type="text" size="28" name="timer1" value="経過時間が表示されます"> </form> <mail.html>の部分 <FORM action="mailto:xxx@xxx.xx" encType="text/plain" method="post" name="Mform"> <TABLE border=0 width="483" cellspacing="0" cellpadding="0"> <TR> <TD width="80">Clear Time:</TD> <TD width="400"><INPUT name="TIME" size="34"></TD></TR> <TR> <TD width="80">Name:</TD> <TD width="400"><INPUT name="NAMAE" size="34"></TD></TR> </TABLE> </FORM> これで実行するとどうしてもクリアタイムのデータを受け取ってくれません。「オブジェクトではありません」といわれます。どこをどうすればいいのか、わかりません??わかりにくい質問かもしれませんが、どうぞよろしくお願い致します。

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

  • ベストアンサー
  • steel_gray
  • ベストアンサー率66% (1052/1578)
回答No.1

Javascriptではwindow.openの外部に対する処理があっても、関係なく次のステップに進みます。 mailWin.document.Mform.TIME.value=clear_moji; を、実行する時点でmail.htmlがopenされていないのでエラーになっていると思われます。 逆にmail.html側で document.Mform.TIME.value=window.opener.clear_moji としてやればいいかも。 なお、改変不可能にする方法は思いつきません。 原理的にいえば無理かも。

jamslot
質問者

お礼

ご回答ありがとうございました。 ご回答頂いた内容でなんとかできるようになりました!

関連するQ&A

  • メールフォームについて

    この中にどのようなHTMLを書けば自分のPCにメールが届く ようになりますか?よろしくお願いします。 <h2>■MAIL FORM</h2> <div class="text"> <form><table><tr><td width="100" align=right> NAME</td><td align=right><input type="text" name="Name" size="34"></td></tr><tr><td width="100" align=right> MAIL</td><td align=right><input type="text" name="Mail" size="34"></td></tr></table> <TEXTAREA NAME="Comments" ROWS="8" COLS="39" value="comments"></TEXTAREA> <br> <table><tr><td width="100" align=right> </td> </tr><tr> <td width="100" align=right> URL</td><td><input type="text" name="URL" value="http://" size="34"></td></tr><tr><td></td><td align="right"> <INPUT TYPE="reset" VALUE=" Reset "> <INPUT TYPE="submit" VALUE=" Send "></FORM> </td></tr></table><br></div>

    • ベストアンサー
    • HTML
  • フォーム内容がメールでうまく取得できない

    ホームページ作り初心者です。 くだらない質問かもしれないのですが、行き詰まって悩んでいます…。 どうかよろしくお願い致します。 今、CGIを使ってフォームを作っています。 基本的なフォームでは問題がないので、CGI自体に問題はないと思います。 それが、メールフォームをテーブルで囲まれたデザインにした途端、フォーム内容がうまくメールで取得できなくなりました。 本当なら 「shopname = ○○○○  name = ○○○○  tel = ○○○○  email = ○○○○  question = ○○○○」 と送ってほしいのに、 「shopname =  ○○○○  name」 となんとも中途半端な内容が送られてきます…。 テーブルを使ったからCGIがうまく作動しないのか、HTMLがおかしいのか、CGIがおかしいのか、どこがいけないのかわかりません。 アドバイスいただけたら嬉しいです。 宜しくお願い致します。 以下、フォームのHTMLです。 --------------------------------------- <form action="./postmail.cgi" method="post" enctype="text/plain" name="form1" id="form1"> <table width="520" border="0" cellspacing="2" cellpadding="2" bgcolor="#7EBEB6"> <tr> <td width="152" bgcolor="#FFFFFF" class="style3"><center> 店舗名 </center></td> <td width="354" bgcolor="#FFFFFF"><input type="text" name="shopname" size="44" /> </td> </tr> <tr> <td width="152" bgcolor="#FFFFFF" class="style3"><center> ご担当者名 </center></td> <td width="354" bgcolor="#FFFFFF"><input type="text" name="name" size="44" id="name" /> </td> </tr> <tr> <td width="152" bgcolor="#FFFFFF" class="style3"><center> お電話番号 </center></td> <td width="354" bgcolor="#FFFFFF"><input type="text" name="tel" size="44" id="tel" /> </td> </tr> <tr> <td width="152" bgcolor="#FFFFFF" class="style3"><center> メールアドレス </center></td> <td width="354" bgcolor="#FFFFFF"><input type="text" name="email" size="44" id="email" /> </td> </tr> <tr> <td width="152" bgcolor="#FFFFFF" class="style3"><center> メールアドレス(確認用) </center></td> <td width="354" bgcolor="#FFFFFF"><input type="text" name="email2" size="44" id="email2" /> </td> </tr> <tr> <td width="152" bgcolor="#FFFFFF" class="style3"><center> お問い合わせ内容 </center></td> <td width="354" bgcolor="#FFFFFF"><textarea name="question" cols="43" rows="7"></textarea></td> </tr> </table> <br /> <input type="submit" name="button" id="button" value="送信" /> <input type="reset" name="button2" id="button2" value="すべてクリア" /> <br /> </form>

    • ベストアンサー
    • HTML
  • このメールフォームが機能しないのは何故ですか?

    お世話になります。メールフォームを作成してCGIプログラムでメールを送信できるようにしたいと思い、以下のようにhtmlを作成しました。CGIはSYNCK GRAPHICAさんのサイトでお借りして自動返信機能付メールフォームCGIというCGIを使わせてもらいました。?http://www.synck.com/contents/download/cgi-perl/mailform.html レンタルしているサーバはロリポップです。?http://www.lolipop.jp/?mode=manual&state=hp&state2=cgi? CGIでロリポップが指定しているPERLパス・SENDMAILパスを変更してパーミッションも700に設定したのですが、何故かエラーの表示が出て、うまく作動してくれません。郵便番号自動検索機能も正常に機能しません。それでSYNCK GRAPHICAさんにどうして?と聞いたのですが、「http://www.自分のサイトアドレス/mailform.js←ここにファイルが無いためと考えられます。」という返事のみで、「何のファイルがないの?」って感じで全く分かりませんでした。初心者ゆえどこか基本的なことを見落としていると思います、どうか教えてください。 <table> <tr> <td>メールアドレス<span>*</span><p class="form">e-mail address</p></td> <td class="kakikomi"><input type="text" name="email(必須)" style="width: 300px;ime-mode: disabled;" onBlur="keepField(this.form.id)"></td> </tr> <tr> <td>確認用メールアドレス<span>*</span><p class="form">e-mail address</p></td> <td class="kakikomi"><input type="text" name="confirm_email" style="width: 300px;ime-mode: disabled;" onBlur="keepField(this.form.id)"></td> </tr> <tr> <td>お名前<span>*</span><p class="form">your name</p></td> <td class="kakikomi"><input type="text" name="お名前(必須)" style="width: 300px;ime-mode: active;" onBlur="keepField(this.form.id)"></td> </tr> <tr> <td>性別<p class="form">sex</p></td> <td class="kakikomi"><input type="radio" name="性別" value="男" onBlur="keepField(this.form.id)">男 <input type="radio" name="性別" value="女" onBlur="keepField(this.form.id)">女</td> </tr> <tr> <td>電話番号 <p class="form">telephone number</p> </td> <td class="kakikomi"><input type="text" name="電話番号" style="width: 120px;ime-mode: disabled;" onBlur="keepField(this.form.id)"></td> </tr> <tr> <td>郵便番号<p class="form">postcode</p></td> <td class="kakikomi"><input type="text" name="郵便番号" style="width: 60px;ime-mode: disabled;" onBlur="keepField(this.form.id)"> <input type="button" value="〒から住所を自動入力" name="postcode" onClick="javascript:checkPostcode('mailform','郵便番号','住所(必須)');"></td> </tr> <tr> <td>住所<span>*</span><p class="form">address</p></td> <td class="kakikomi"><input type="text" name="住所(必須)" style="width: 300px;ime-mode: active;" onBlur="keepField(this.form.id)"></td> </tr> <tr> <td>ご用件<span>*</span><p class="form">inquiry subject</p></td> <td class="kakikomi"><select name="ご用件(必須)" id="business" onBlur="keepField(this.form.id)"> <option value="" selected>下記の中から必ず選択して下さい</option> <option value="デザイン・印刷のお見積り">デザイン・印刷のお見積り</option> <option value="その他お問い合わせ">その他お問い合わせ</option> </select> </td> </tr> <tr> <td>ご用件<span>*</span><p class="form">inquiry body</p></td> <td class="kakikomi"><textarea name="ご用件(必須)" style="width: 300px;height: 140px;ime-mode: active;" onBlur="keepField(this.form.id)" rows="15" cols="30"></textarea></td> </tr> <tr> <td>送信確認<p class="form">sending confirm</p></td> <td class="kakikomi"><input type="checkbox" name="送信確認(必須)" value="送信チェック済み" onClick="keepField(this.form.id)">上記内容を確認したらチェックを入れてください</td> </tr> <tr> <td></td> <td class="kakikomi"><input type="submit" value="メールを送信する"> <input type="reset" name="reset" value="リセット"><br></td> </tr> <tr> <td></td> <td class="kakikomi"><span>*</span>は必須項目です。</td> </tr> </table> </form>

    • ベストアンサー
    • CGI
  • MTOS内のページに設置したメールフォームについて

    いつもみなさんのアドバイスを参考にさせて頂いております。 早速ですが、MTサイト内にメールマガジンのフォームを設置したところ、実際に名前とメールアドレスを入力し送信ボタンを押しても名前が入力されていませんなどとエラーが表示されます。 メールマガジン自体は他サイトで使用しているものでメールマガジンで使用しているCGIも他サイトのサーバにて稼動しております。 ところが、使用しているタグ<form> ~ </form>までをそのままMTに貼り付けて設置してみてもうまく運用できません。 何か問題があるのでしょうか? ちなみにタグは以下の通りです。 <div id="mail_maga"> <form action="http://www.***/***.cgi" method="post"> &nbsp;<table id="AutoNumber1"><tbody><tr> <td colspan="2" class="mail_magat">☆ メルマガ登録</td> </tr><tr> <td class="mail_magast">お名前</td> <td class="mail_magain"><input type="text" name="お名前" size="30"></td> </tr><tr> <td class="mail_magast">メールアドレス</td> <td class="mail_magain"><input type="text" name="メールアドレス" size="30"> 半角英数字</td> </tr></tbody></table> <table id="AutoNumber2" class="mail_maga2"><tbody><tr> <td> <input type="hidden" size="1" name="code" value="0000a" /> <input type="hidden" size="1" name="mlcd" value="0000a" /> <input type="hidden" size="1" name="key01" value="2542666" /> <input type="hidden" size="1" name="HPADDR" value="http://www.***/***.html" /> <input type="submit" name="mode" value="送信" /> <input type="submit" name="mode" value="内容確認" /> <input type="reset" value="リセット" /> </td> </tr></tbody></table> </form> 何かアドバイスありましたら宜しくお願いします。

    • 締切済み
    • CGI
  • メールフォーム作成方法

    教えてください。素人です。すみません。 私の契約しているプロバイダではcgiでメールフォームの必須項目の指定が出来ません。それによって何も入力しなくても送れてしまいます。 そこでjavaスクリプトで作れば出来ますといわれました。 <FORM method="POST" action="/cgi-bin/f2m.cgi?xxxx"> <TABLE width="688" height="518"> <TBODY> <TR> <TD width="134" align="right">お 名 前</TD> <TD width="20"></TD> <TD width="178"><INPUT size="20" type="text" maxlength="20" name="お名前"></TD> <TD></TD> <TD></TD> </TR> <TR> <TD width="134" align="right">郵便番号</TD> <TD width="20"></TD> <TD width="178"><INPUT size="20" type="text" maxlength="20" name="郵便番号"></TD> <TD></TD> <TD></TD> </TR> <TR> これが以前に作ったメールフォームのソースの一部なのですが、どこかを編集すれば必須項目を記入なければ、記入してくださいなどのメッセージを出せたり、送信できないようにすることはできるのでしょうか?また、メールソフトを起動しないで送る方法も教えてください。お願いいたします

  • 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
  • php メールフォーム プルダウンメニュー

    プルダウンメニューを使用して、フォーム→確認→送信と順々に値を受け取りたいのですが、form.phpではプルダウンメニューは表示されますが、form.phpで選択したプルダウンメニューがconfirm.phpでは表示されません。 confirm.phpでも表示されてなおかつ送信をしたら受け取れるようにしたいのです。 初心者なので、いろいろと勉強をしながら、本を読んだり、調べたのですが、まったくわからずです。どなたかご教授お願いします。 form.php <form method="post" action="confirm.php"> <table cellpadding="0" cellspacing="0" border="0"><tr><td>項目</td><td>入力欄</td><td>記入例</td></tr> <tr><td><label for="name">名前</label></td><td><input type="text" size="50" name="name" id="name" value="<?php print h(@$_SESSION['name']); ?>" /></td><td>例:goo 太郎</td></tr> <tr><td><label for="mail">生年月日</label></td><td> <select name="year[]"><option value="1970">1970</option><option value="1971">1971</option><option value="1972">1972</option><option value="1973">1973</option><option value="1974">1974</option></select>年 <select name="month[]"><option value="01">01</option><option value="02">02</option><option value="03">03</option><option value="04">04</option><option value="05">05</option><option value="06">06</option></select>月 <select name="day[]"><option value="01">01</option><option value="02">02</option><option value="03">03</option><option value="04">04</option><option value="05">05</option><option value="06">06</option></select>日 </td><td>例:1990年01月01日</td></tr> <tr><td colspan="3" style="text-align:center;"><input type="hidden" name="aaa" value="<?php print h($aaa); ?>" /><input type="submit" value="確認" /></td></tr> </table></form> confirm.php session_start(); $_POST = checkInput($_POST); if (isset($_POST['aaa']) && isset($_SESSION['aaa'])) { $aaa = $_POST['aaa']; if (!in_array($aaa, $_SESSION['aaa'])) { die('不正アクセスの疑いがあります。'); } } else { die('不正アクセスの疑いがあります。'); } $name = isset($_POST['name']) ? $_POST['name'] : NULL; $kana = isset($_POST['kana']) ? $_POST['kana'] : NULL; $mail = isset($_POST['mail']) ? $_POST['mail'] : NULL; $comment = isset($_POST['comment']) ? $_POST['comment'] : NULL; $error = array(); ★★★各項目のチェック★★★ $_SESSION['name'] = $name; $_SESSION['kana'] = $kana; $_SESSION['mail'] = $mail; $_SESSION['comment'] = $comment; $_SESSION['error'] = $error; <table class="form" cellpadding="0" cellspacing="0" border="0"> <tr><td>項目</td><td>入力欄</td><td class="title_color" style="border-left:1px solid #ffffff;">記入例</td></tr> <tr><td>名前</td><td class="title_back2"><?php print h($name);?></td><td>例:goo 太郎</td></tr> <tr><td>生年月日</td><td>★★★★★ここにform.phpからのプルダウンメニューを受け取りたい★★★★★</td><td>例:1990年01月01日</td></tr> </table> <table cellpadding="0" cellspacing="0" border="0"> <tr> <td><form action="form.php" method="post"><input type="submit" value="戻る" /></form></td> <td><form action="send.php" method="post"><input type="hidden" name="aaa" value="<?php print h($aaa);?>" /><input type="submit" value="送信" /></form></td> </tr></table>

    • ベストアンサー
    • PHP
  • メールフォームの内容を送信者にも控えがとれるようにしたい

    下記の件で困っています。 HTMLの中で、メルフォを設けました。 <form method=post action="フォームデコードサービス"> <input type=hidden name="_mailto" value="***@*****.ne.jp"> <input type=hidden name="_subject" value="件名"> <input type=hidden name="_location" value="http://戻りURL.htm"> <table border="0" cellpadding="5" cellspacing="0" width="900"> <tr> <td width="150">氏名</td> <td colspan="2" width="700">     <input type="text" size="30" name="氏名"></td> </tr> ・ ・ ・ <p> <input type="submit" value="submit"> <input type="reset" value="reset"> </p> </form> 最初はデコードサービスを使わなかったのですが、Macから送信されるデータが文字化けする為、使うことにしました。 しかし、そうすると、送信者に送信内容が残らなくなってしまいました。 送信者の手許にもコピーが残るようにしたいので、お知恵を拝借できれば幸いです。 よろしくお願い致します。

  • 作成したメールフォームの内容を送信する方法

    メールフォームを作成中なのですが、HTMLでのフォーム&チェックは作成できたのですが、それを送信する方法がわかりません。できるだけ簡単な方法を教えていただきたいのですが。 他サイトを見て記述したロジックもありますので、おかしな箇所もあると思います。 ネット検索で送信する為のCGIかPHPが必要?まではわかったのですが。 PHPなら、別PGを作成して、送信だけを行わせるには、どの部分を変更したらよいか? 今後は、他のメールフォームも同じPGで送信できるようにしたい? ※サーバーはCGIもPHPも使用可能です。   WWW--->xxx.jp このフォルダの中に全てのPGがあります      +->cgi-bin に入れる必要があるそうです。 CGIは全然知識がありません。PHPなら多少の知識はあります。ただし、CGIの方が簡単にできるように思っているのですが。 質問の方法が下手ですいません。 作成したPG(mail_nquiry.html) 入力内容をチェックしてOKなら送信のロジック <script language=JavaScript> <!-- function send_mail() { var form = document.getElementById('inquiry_form'); var errMsg = ""; if (form.name.value.length == 0) { errMsg += 'お名前を入力して下さい\n'; } if (form.mail.value.length == 0) { errMsg += 'メールアドレスを入力して下さい\n'; } else { if (!(/^\w+([\.-/]?\w+)*@\w+([\.-/]?\w+)*(\.\w{2,3})+$/.test(form.mail.value))) { errMsg += 'メールアドレスの書式を確認して下さい\n'; } if (form.mail.value != form.mail2.value ) { errMsg += 'メールアドレス確認が一致しません\n'; } } if (form.contents.value.length == 0) { errMsg += 'お問合せ内容を入力して下さい\n'; } if (errMsg.length >= 1) { alert(errMsg); } else { form.submit(); <--- 意味がわからない? } } --> </script> メールフォーム <form action="./mail_inquiry.html" method="post" name="inquiry_form" id="inquiry_form"> <input type="hidden" name="tomail" value="on">  <--- 必要か? <table width="400" border="1" cellspacing="0" cellpadding="3" style="margin-top: 10px; background-color: #CCCCCC;"> <tr> <td>お名前<br />(ニックネーム可)</td> <td style="text-align: left;"><input name="name" type="text" value="" size="30" style="ime-mode: active;" /></td> </tr> <tr> <td>メールアドレス</td> <td style="text-align: left;"><input name="mail" type="text" value="" size="40" style="ime-mode: disabled;" /><br /><span style="font-size: 11px;">半角英数字</span></td> </tr> <tr> <td>確認用<br />メールアドレス</td> <td style="text-align: left;"><input name="mail2" type="text" value="" size="40" style="ime-mode: disabled;" /><br /><span style="font-size: 11px;">確認のためメールアドレスを再度入力お願いします。</span></td> </tr> <tr> <td>お問い合わせ<br /><br />内 容</td> <td style="text-align: left;"><textarea name ="contents" cols ="35" rows ="10" wrap ="hard"></textarea></td> </tr> <tr> <td colspan="2"> <input type="button" value=" 送 信 " onclick="send_mail()" style="font-size : 12px;"> &nbsp;&nbsp;&nbsp; <input type="reset" value="リセット" style="font-size : 12px;"> </td> </tr> </table> </form>

  • メールフォームについて

    <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)

専門家に質問してみよう