• 締切済み

<FORM action='mailto'>のSubmit後のイベントについて

お世話になります。 <FORM action='mailto:***@**.co.jp'>でsubmit()を行った際に、IEだと確認画面が表示されます。 JavaScriptで確認画面の「はい」と「いいえ」のどちらが押されたかを取得したいのですが、取得する方法はありますか?? よろしくお願いします。

noname#30420
noname#30420
  • HTML
  • 回答数2
  • ありがとう数1

みんなの回答

  • ryota2
  • ベストアンサー率43% (61/140)
回答No.2

フォームを送信したかどうかなら <script> function send(){  var sent=confirm("送信してもよろしいですか?");  if(sent){   //送信した時の命令  }  else{   //送信しなかったときの命令   return false;  } } </script> <FORM action='mailto:***@**.co.jp' method="POST" onSubmit="send()"> </form> *インデントに全角スペース使用 できるのはこれぐらいでしょうね。 上手く動くかどうかはわかりませんが。

  • ryota2
  • ベストアンサー率43% (61/140)
回答No.1

確認画面はMicrosoft Outlook/Outlook Expressなどの関連付けられたメーラーが表示しているのでJavaScriptで調べることはできません。 >IEだと確認画面が表示されます。 この考え方は正しくありません。 確かに、Outlook Expressが関連付けてあれば表示される事もあります。 しかし、関連付けられているメーラーによってはメッセージを出さずに送信するものがあるかもしれません。 また、このような送信方法に対応していないメーラーも多く存在します。 下のようにした方が送信できる人口は少し増えるでしょう。 <FORM action='mailto:***@**.co.jp' method="POST"> 多くの人にメールを送ってもらいたければCGIを使うしかありません。

noname#30420
質問者

お礼

即答ありがとう御座います。 記述していませんでしたが、現状は… <FORM action='mailto:***@**.co.jp' method='POST' enctype='text/plain'> …で行っています。 やはりブラウザ特有のロジックを追加するのは良くないですよね… JavaScriptで逆に送信されたかどうかを知る方法ってありますか?? やはりCGI等を使用しないと無理ですか??

関連するQ&A

  • form actionでmailtoを指定することについて

    Windows2000pro,IE6.0SP1+最新累積パッチです。 手元のHTML辞典に、 <form action="mailto:xxx@xxx.xxx"> <input type="text"> <input type="submit"> </form> とすることでcgiを使わなくてもHTMLだけでブラウザからメールが送れると書いてありました。 上記を入力したhtmlファイルをデスクトップ上に作成し、IEで開き、textboxに内容を記述してsubmitボタンを押しました。 まず警告ウィンドウが現れOKボタンを押すと、メールは送信されずに,OutlookExpressが起動してメール作成ウィンドウが表示され、あて先のところにmailtoで指定したものが設定されているだけで、本文には何も設定されていません。 少し調べてみると、どうやらこのform actionを使ったメールの送信はブラウザ等の環境によって左右されるらしく、推奨されていないそうですが、私の環境でうまくメールを送信するにはどうすればよいでしょうか? よろしくお願いします。 ちなみに公開ページにこのような記述をするのではなく、個人的な利用です。

    • ベストアンサー
    • HTML
  • <FORM action='mailto:****@****'>について

    お世話になります。 只今、HTMLのメール送信フォームを作成しています。 <FORM action='mailto:******@****.co.jp' method='post' enctype='text/plain'> …と、記述してSubmitでメールは送信されるのですが、全角文字が文字化けしてしまいます。 読んでいる参考書には「enctype='text/plain'」で文字化けは無くなるような事が書いてありますが、実際受信すると文字化けしています。 何か文字化けしなくなる方法はありますか?? よろしくお願いいたします。

  • Formの「action」属性を取得したいけれども「action」という名のオブジェクトが存在している

    非常に困っています!よろしくお願いいたします。 以下のように「action」という名前のオブジェクトがあります。 <form name="form1" method="post" action="hoge.htm"> <input type="hidden" name="action" value="test"> <input type="submit" name="submit" value="OK"> </form> javascriptでaction属性「hoge.htm」を取得したいのです。そのため以下のようにコーディングしました。 alert(document.form1.action); 結果は「object」と表示されます。どうやらactionオブジェクトを対象としてしまうらしいのです。 action属性を取得する方法をお教えいただけないでしょうか。よろしくお願いいたします。

  • formの中で別のactionをもったsubmitボタンの設置。

    formの中で別のactionをもったsubmitボタンの設置。 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=EUC-JP"> <title>sample</title> <script language="JavaScript" type="text/javascript"> <!-- //<クリックした時に実行される関数> //*** 確認画面A function func1(form){ document.form1.check[].value =form.check[].value; document.form1.submit(); } //*** 確認画面B function func2(form){ document.form2.check[].value =form.check[].value; document.form2.submit(); } //--> </script> </head> <body class="index"> <form enctype="multipart/form-data"> <input type="check" name="test[]" value="0">0 <input type="check" name="test[]" value="1">1 <input type="check" name="test[]" value="2">2 <input type="button" onClick="func2(this.form)" value="確認B"> <input type="button" onClick="func1(this.form)" value="確認A"> </form> <!-- sousin.php画面へ --> <form method="post" name="form1" action="sousin.php" enctype="multipart/form-data"> <input type="hidden" name="check[]"> </form> <!--- text.php画面へ ---> <form method="post" name="form2" action="text.php" enctype="multipart/form-data"> <input type="hidden" name="check[]"> </form> </body> </html> 上記のように記述し、フォームの中に別のactionをもったsubmitボタンを設置しました。 チェックボックスで何と何がチェックされたかを渡したいのですが、エラーが発生します。 おそらくjavascript内の構文でcheck[]と記述してるからだと思いますが、 どのようにすれば受け渡すことができるのでしょうか。 checkのみにすると1つの値しか渡せません。

    • ベストアンサー
    • HTML
  • submitについて

    皆様、はじめまして。 この度javascriptを利用したサイトを作ろうと頑張っておりましたがつまずいたのでご質問させていただきます。 一つのformに二つのsubmitを作成して、javascriptを利用してそれぞれのsubmit先(action)を変えることは可能でしょうか? 尚、送信する際はどちらのsubmitでも全データを送信したいです。 現在の状況は、 JSPからJAVAサーブレットへデータを送ろうとしてます。

  • formのsubmitイベントの発生についての質問です。

    formのsubmitイベントの発生についての質問です。 あるところで、「form.submit() は submit イベントを発火しない」 とあったので、 ↓のscriptで、formのsubmitイベントを調べていました。 <!DOCTYPE html> <html lang="ja"> <head> <meta charset="UTF-8"> <title>SessionTestNext</title> <style type="text/css"></style> <script type="text/javascript"> function send1(elm){  elm.form.submit(); } function send2(){  document.getElementById("form1").submit(); } if('undefined' !== typeof document.addEventListener){  document.addEventListener('submit', function(event){   var target = event.target;   alert(target.id);  }, false); } else if ('undefined' !== typeof document.attachEvent){  document.attachEvent('onSubmit', function(event){  var target = event.srcElement;  alert(target.id);  }); } </script> </head> <body> <p>SessionTestNext 1 </p> <form id="form1" action="/php/session2.php" method="post" onsubmit="alert('Submited!');return false;"> <input type="text" name="parm2" value="fugafuga"> <input type="submit" value="サブミット"> <button onclick="send1(this)">Javascriptサブミット(1)</button> </form> <button onclick="send2()">Javascriptサブミット(2)</button> </body> </html> だのに、 send1()を実行した時は、イベントが検知され'Submited!'がアラートします。 ただし、onsubmitのハンドラーでfalseを返してるので、サブミットしません。 send2()を実行した時は確かに、submitイベントは発生せず、'Submited!'の アラート無しで、実際サブミットされます。 documentにaddEventListenerで追加したハンドラーの方でも、send1()の 時だけ検知され'form1'がアラートします。  send1()で検知されるのは何故でしょう? また、IEでも同様の動作なんですが、何故か document.attachEvent('onsubmit', の方が、まったく動きません。(タイポかも)

  • document.form.actionでの処理

    以下のようなソースにて、 ・<form>のactionでは"send.php"へPOSTしたい。 ・javascriptにて、<select>で選択した値をhoge.phpへ渡したい 上記の事を実現するため、 ・リストから選んだ値を画像クリックで"hoge.php"へ渡し別窓で表示 ・"text"に入力した値をsubmitで"send.php"へ渡す といった処理をしているのですが、 "hoge.php"を参照した後に"text"へ何か入力してsubmitすると 本来send.phpへとぶはずが、"hoge.php"へとんでしまいます。 何が原因なのか、また最良を方法がありましたら ご教授頂ければと思います。 <script> <!-- function form_submit(url){ document.form.action=url; document.form.target = "_blank"; } //--> </script> | <FORM METHOD="POST" name="form" action="send.php"> <SELECT name="sel"> <OPTION value="001">001</OPTION> <OPTION value="002">002</OPTION> </SELECT> <input type="image" src="sub.gif" onClick="javascript:form_submit('hoge.php')"> <input type="text" name="text"> <input type="submit" value="送信"> </FORM> |

  • サブウインドウにsubmitしたい

    下記のような送信ボタンを押したときに、サブウインドウとして次の画面を開いてテキストボックスに入力した値を表示する方法についてアドバイスいただけないでしょうか。簡単かと思って探したものの、よくわかりませんでした。次の画面はnext.cgiです。送信時にFieldの値をjavascriptの値として取得する部分がよくわかりません。 #あくまでサブウインドウで開く #サブウインドウに値を引き継ぐ <FORM ACTION="next.cgi" METHOD="POST"> <INPUT TYPE="TEXT" NAME="Field" SIZE="12"> <INPUT TYPE="SUBMIT" NAME="Submit" VALUE="送信"></form>

  • <FORM> </FORM> の中に さらに <FORM> </FORM>があるときのSUBMITボタンについて

    今、 <FORM ACTION="aaa.asp" METHOD="POST" Name="form1"> <input type="SUBMIT" value="ボタン1"> <FORM ACTION="bbb.asp" METHOD="POST" Name="form2"> <input type="SUBMIT" value="ボタン2"> </FORM> </FORM> としていて、ボタン2を押すとbbb.aspに 飛んでほしいのでに、aaa.aspに飛んでしまいます。 こういう場合どのようにすればよいのでしょうか? それぞれのボタンは hidden の値をそれぞれの フォームの中の値を渡したいので どうしてもSubmitがいいのです。

    • ベストアンサー
    • HTML
  • formのsubmitごとのパラメータ追加について

    phpで作成されており、入力、入力内容確認、完了ごとのファイルを includeされて、ステップの変数にPOSTで値を渡し、ファイルを読み替え、見た目上は1つのファイル(URL)として動いております。 最後の完了画面のみURLを変えてほしいとのことでしたが、 完了画面への分岐が修正する・送信するのボタンですが、 両方submitのため、入力内容確認画面のform送信先にパラメータを付加してみても、 修正ボタンを押したときにもURLにパラメータが付加されています。 location.search = '?mode=send';などを使ってみましたが、完了画面時にリロードされてしまい、メールは来ますが、画面上は入力前の画面に戻ってしまいます。 submitボタン自体にパラメータを不可するか、location.search動作時のリロード後にお問い合わせ完了画面を強制的に出すしか思いつかないに加え、その動作をするプログラムも思いつきません。 知恵を是非貸してください。 よろしくお願いいたします。 現状のソースは、 <form action="<?= $_SERVER['PHP_SELF'] ?>" method="post" id="mailform"> インプットやセレクト <a href="javascript:document.getElementById('step').value='Step3';document.getElementById('mailform').submit();"> 修正する </a> <a href="javascript:document.getElementById('mailform').submit();"> 送信する </a> といったものです。 PHP,javascriptでの対応を希望です。よろしくお願いいたします。

専門家に質問してみよう