我不确定我是否使用了正确的方法,或者我是否应该将我的可编辑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 = "mailto:" +
document.myform.mylist.options[document.myform.mylist.selectedIndex].value +"?subject=This is the Subject+&body=getElementbyID("emailbody")""
NAME="Send email">
</div>
答案 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" />