2012-03-06 9 views
3

私はWebViewでアプリケーションを構築しています。あなたはそれを本当に知る必要はありませんが、私はこの質問に答える必要がある理由であり、別の方法はありません。Email Textarea with JavaScript URLコード

テキストエリアオブジェクトと同じWebページに何らかの種類のスクリプトを入れておいて、URLにある種のJavaScriptコードを入力した後、デフォルトのメールプログラムを開きます。 textareaをメッセージの本文部分として使用します。

混乱していますが、私は知っていますが、数回にわたって読んでいます。

(注:私は、既定のメールプログラムポップアップを言うとき、私はと同様の方法のような意味でのmailto、それがデフォルトのメールアプリで開いたとき)

+1

メールプログラムを開くには、ブラウザのアドレスバーにJavaScriptコードを入力する必要がありますか? ...なぜ「mailto」リンクを使用しないのですか?または、彼らのGUIを使って電子メールプログラムを開くように頼んでください(あるいは、通常どんな手段であれ)。 –

答えて

0

、これはあなたがあなたのアドレスバーに入力するために探しているものです。

javascript:location.href="mailto:[email protected]?body="+document.getElementById("ta1").value; 

EDIT:同じアクションが

行っなさいオンボタンクリック:

<input type="button" onclick="location.href=&quot;mailto:[email protected]?body=&quot;+document.getElementById(&quot;ta1&quot;).value;" value="Send"> 

Androidの在庫ブラウザでも機能します

+0

まさに私が探していたもの、ありがとうございました:) –

+0

喜んで助けました!この種のユーザー入力は、パブリックに直面しているユーザーインターフェイスには最小で確実には使用しないでください。 – bPratik

+1

URLに追加する前に、テキストエリアから値をエスケープしてください: '... + encodeURI(document.getElementById(" ta1 ")。value)' – djd

1

mailtoリンクがデフォルトの件名/メッセージを含むことができ、 URLパラメータを使用して

<a href="mailto:[email protected]?subject=My%20Subject&body=My%20message"> 

だから、あなたが望むものを達成するための最良の方法は<textarea>入力要素の値に基づいて動的にURLを構築することです。アンカータグのhref属性にURLを割り当てるか、window.locationに直接割り当てることができます。

悲しいことに、それは<form action="mailto:…">のようには見えないので、いくつかのJSが必要になります。

0

だけmailto:リンクの右の種類を作成する機能を実行するための<textarea>onkeyuponchangeイベントにリスナーをバインドします。

$("#sendMail").on("keyup change", function(){ 
    $(this).attr("href", "mailto:......"); 
}); 

することはでき特定receipient、このような件名、本文:

<a id="sendMail" href="mailto:[email protected]?subject=abcdef&body=bodyMessage">Send</a> 

は次にボタンのように見えるようにリンクのスタイルをいくつかのCSSを使用します。例えば。 textareaid="ta1"を持っていることを前提に

#sendMail { display: block; background: #EEE; border: 1px solid #CCC; color: #000; }