2012-01-26 9 views
2

ユーザーに情報を送信するための電子メールを作成するためのリンクを作成しようとしています。その本体にはJavaScript関数によって生成されたデータが埋め込まれている必要があります誰かが助けることができます。動的に生成された本文をhtml5&javascriptで作成する

Idealyは、以下の 'body_blurb'の代わりに、クリック時に呼び出されるJavaScript関数から返された文字列を使用してください。

<A HREF="mailto:[email protected]?subject=Data&body=body_blurb">e-mail data</a> 

あなたが実際にhref値を設定する必要はありませんあなたの時間

+0

あなたは、比較的簡単にそれを行うことができますが、どのようなイベントがそのアンカーにbody_blurb結合されますか?ユーザーがメールのアンカーの前に何かをクリックしていますか? –

+0

特に、ユーザーがYahoo、GMail、HotmailなどのWebベースの電子メールサービスを使用しているときに、特にmailto:が機能しないことを認識していますか?したがって、mailtoを入力するローカル電子メールクライアントはありません。それに取り組む? – jfriend00

答えて

4

ここでリンクにIDを割り当てただけですが、必要に応じてより一般的なものを作成できます。 onclickハンドラを作成したら、hrefでURLにアクセスできます。これをあなたが望むものに設定してください。ここで

http://jsfiddle.net/f3ZZL/1

var link = document.getElementById('email'); 
link.onclick = function() { 
    this.href = "mailto:[email protected]?subject=Data&body="; 
    this.href += getBody(); 
}; 

function getBody() { 
    return 'HelloWorld'; 
} 
+0

パーフェクト - まさに私が何をしていたのか。さらに説明するために、私は簡単なエンジニアリング計算式cruncherをモバイルブラウザ経由で作成しています。ユーザーは変数を入力し、数値をクランクして出力します。私は彼らに入力と出力のデータセットを送信するオプションを与えることができるようにしたいと思います。 – vinomarky

0

を感謝しています。あなたが実際にしようとしているのは、mailto: URLにブラウザを送信することです:hrefはその目的のための手段に過ぎません。

hrefを空白のままにして、リンクにonClickハンドラがあるようにします。 onClickでは、ブラウザにmailto: URLを入力します(変数を使用して作成した後)。 Presto、done。

+1

Hmmmだから、 'location.href = mailto:...'を使うことができますか? – mrtsherman

1

無スパム法である

var link = document.getElementById('email'); 

link.onclick = function() { 
    var name = "you"; 
    var domain = "yourdomain.com"; 
    var linker = "mailto:" + name + '@' + domain + "?subject=Data&body="; 
    linker += getBody(); 
    document.location(linker); 
}; 

function getBody() { 
    return 'HelloWorld'; 
} 

Fiddle

関連する問題