根据可编辑Div的内容设置电子邮件

时间:2014-12-20 00:12:56

标签: javascript html

我不确定我是否使用了正确的方法,或者我是否应该将我的可编辑div设置为表单。我有一个电子邮件收件人的选择框。我只是希望div的内容填充电子邮件的正文。是否可以让javascript动态地将主体填充到HREF?这显然已被打破

<div class="editable" id="emailbody">

  </script>
<script type="text/javascript">
// Editable div
$('.editable').each(function(){
    this.contentEditable = true;
});
</script>
  <span id="OUTLWP"></span>
  <span id="outreason"></span>

<span class="OUTBPC"></span>
</div>

<input LANGUAGE="JavaScript" TYPE="button" VALUE="Send email"
ONCLICK="location.href = &quot;mailto:&quot; +
document.myform.mylist.options[document.myform.mylist.selectedIndex].value +&quot;?subject=This            is the Subject+&amp;body=getElementbyID("emailbody")&quot;"
NAME="Send email">
</div>

2 个答案:

答案 0 :(得分:0)

您可以将input按钮更改为<a>标记,并在点击处理程序中调整href

<a id="send_email">Send Email</a>

JS

$('#send_email').click(function (e) {
    var subject = 'My Email Subject';
    this.href = 'mailto:' + $('#myList').val() + '?subject='+subject+'&body=' + $('#emailbody').html();
});

DEMO

答案 1 :(得分:0)

1)因为你正在使用jquery,所以你可以将它用于所有事情......

2)最好在onclick事件中调用一个函数来尝试编写一个完整的函数

3)属性在HTML标记中使用camelCase

我没有对此进行测试,但它应该能满足您的需求。

<script type="text/javascript">

// Editable div
$( document ).ready(function() {
    $('.editable').each(function(){
        this.contentEditable = true;
    });
});

function sendMail(){
    var str = "mailto:" + 
    $('#mylist').val() +
    "?subject=This is the Subject" +
    "&body=" + $('#emailbody').text();

    window.open(str);
}
</script>

<div class="editable" id="emailbody">
    <span id="OUTLWP"></span>
    <span id="outreason"></span>
    <span class="OUTBPC"></span>
</div>

<input type="button" value="Send email" onclick="sendMail()" name="Send email" />