dポイントプレゼントキャンペーン実施中!

mailto機能について

mailto機能について
初心者なので、mailtoを使ってcgiなどに連携せず、一本で完結するプログラムをと考えていましたが無理なので経験者のお力をお願い致します。

やりたい事は、
(1)フォームにて、1行のスクロールフィールドを作って、操作者に設定させます。
(2)上記の設定情報(アドレス)を、メールヘッダーのTo:に入れようと思っていましたが無理でした。
つまり、111が選ばれたなら、111@zzz.co.jpのアドレス
      222が選ばれたなら、222@zzz.co.jpのアドレスの様に。 
(3)そして、本文(body)には、クリップボードの値を入れようと思っていましたが、これも無理。

お恥ずかしいのですが、作ったプログラムは、以下です…

<body>
<FORM>
<select size="1" name="pref" multiple>
<option value="111@zzz.co.jp">111</option>
<option value="222@zzz.co.jp">222</option>
<option value="333@zzz.co.jp">333</option>
String[] pref = req.getParameterValues("pref");
<p><input type="submit" value="テストメール送信フォーム" /></p>
</select>
<A HREF="mailto:String[] pref?subject=test?cc=dummy@zzz.co.jp?body=テストメール%
0D%0A%0D%0A(本文中にクリップボードがコピーされます)clipText = window.
clipboardData.getData("text")">テストメール送信フォーム<br></a></FORM>
</body>

みっともない上記をベースに修正頂く必要はございません。
本来、目的からすれば、どの様なプログラミングを行うのが妥当なのかの界面で、ご教授頂きたく、多忙とは存じますが、宜しくお願いいたします。

A 回答 (1件)

なかなか回答がありませんね。

以下を試してみてください。
※ドメイン名はこういう場で使用するための「 example.com 」に変えてあります。
-------------------------------------------------------
<script language="JavaScript">
<!--
function myMailto(){
//変数toに id=TO のselectされた値を取得
var to = document.getElementById('TO').value;
//ccは固定
var cc = 'dummy@example.com';
//クリップボードはIEだけなので、IE以外のエラー対策
var body = (document.all ? clipboardData.getData("Text"):'' );
//全部くっつけてリンクさせておしまい。
location.href='mailto:'+to + '?cc=' + cc + '&body=' + body;
}
// -->
</script>
<form id='myForm'>
<select id='TO' size="1" multiple>
<option value="111@example.com" selected>111</option>
<option value="222@example.com" >222</option>
<option value="333@example.com">333</option>
</select>
</form>
<input type="button" value="テストメール送信フォーム" onclick="myMailto()">
--------------------------------------------------------

//説明
ボタンを押すと、myMailto();を実行します。
function myMailto()では
「mailto:メールアドレス?cc=メールアドレス&body=ボディ」の文字列を生成して
location.href=に入れて <a href=mailto~をクリックしたのと同じ状態にします。

※ multiple は、値が取得しづらいのでできれば普通タイプの方がよいかと。
 (選択されて反転された青い状態だとOKですが、矢印で選択した時の白いままだと、値を取得するには scriptが大変面倒)
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!