• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:mailtoの記入を入力フォームを使用して)

メールアドレスの入力フォームを使用してメーラーを立ち上げる方法

このQ&Aのポイント
  • メールアドレスを入力するフォームを作成し、入力されたメールアドレスを使用してメーラーを立ち上げる方法を説明します。
  • 通常、メールアドレスを直接入力フォームで受け取ることはできませんが、JavaScriptを使用してメーラーを立ち上げるためのURLを生成することができます。
  • 具体的なコード例を紹介します。URLには、宛先メールアドレス、件名、本文などを指定することができます。

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

  • ベストアンサー
  • t_ohta
  • ベストアンサー率38% (5253/13739)
回答No.2

こんな感じで項目が増やせます。 <form name=mailform> 宛先:<input name=to type=text value="info@example.com"><br> 件名:<input name=subject type=text value="hello"><br> お名前:<input name=name type=text value="namae"><br> 住所:<input name=addr type=text value="jyusyo"><br> <button type=submit>送信</button> </form> <script>window.addEventListener('load',function(ev){ document.forms['mailform'].addEventListener('submit',function(submitEv){ submitEv.preventDefault(); var form = submitEv.target; var to = form.elements['to'].value; var subject = form.elements['subject'].value; var name = form.elements['name'].value; var addr = form.elements['addr'].value; var body = "お名前:"+ name + "%0D%0A住所:" + addr if (!to) return; var url = "mailto:" + to + "?subject=" + subject + "&body=" + body; var a = form.appendChild(document.createElement('a')); a.href = url; a.click(); form.removeChild(a); }, false); }, false)</script>

namagage98
質問者

お礼

ご報告が遅れました。 ご指導有難うございました。 教えていた通りに作業を進めまして、 うまく作成することができました。 今後、疑問が出た場合はまた新たに質問させていただきます。 ご指導有難うございました。

その他の回答 (1)

  • t_ohta
  • ベストアンサー率38% (5253/13739)
回答No.1

こんな感じですかね。 subjectやbodyはメールソフトによっては受け付けないので宛先しか入らない場合があります。 日本語を入力すると文字化けする場合があります。文字コード変換やエスケープ処理を入れれば多少改善できるでしょうが、OSやメールソフトによって受け付ける文字コードが異なりますので、一筋縄では行きません。 <form name=mailform> 宛先:<input name=to type=text value="info@example.com"><br> 件名:<input name=subject type=text value="hello"><br> 本文:<input name=body type=text value="Hi"><br> <button type=submit>送信</button> </form> <script>window.addEventListener('load',function(ev){ document.forms['mailform'].addEventListener('submit',function(submitEv){ submitEv.preventDefault(); var form = submitEv.target; var to = form.elements['to'].value; var subject = form.elements['subject'].value; var body = form.elements['body'].value; if (!to) return; var url = "mailto:" + to + "?subject=" + subject + "&body=" + body; var a = form.appendChild(document.createElement('a')); a.href = url; a.click(); form.removeChild(a); }, false); }, false)</script>

namagage98
質問者

お礼

ご回答有難うございます。 件名、本文も入力フォームを使用して作れるようになりました。 有難うございます。 本文の中にお名前、住所のように複数の入力フォームを作りたい場合は どうすればよいかも教えていただけませんでしょうか。 お恥ずかしい話ですが、最初の質問で聞くべきでしたが、疑問は増えるばかりで 大変申し訳ありませんがよろしくお願い申し上げます。

関連するQ&A

専門家に質問してみよう