I almost got the answer from the most voted answer from here, but I'm trying to put a div content in a mailto tag body.
function getInnerText(el) {
var sel, range, innerText = "";
if (typeof window.getSelection != "undefined" && typeof document.createRange != "undefined") {
sel = window.getSelection();
sel.selectAllChildren(el);
innerText = "" + sel;
sel.removeAllRanges();
} else if (typeof document.selection != "undefined" && typeof document.body.createTextRange != "undefined") {
range = document.body.createTextRange();
range.moveToElementText(el);
innerText = range.text;
}
return innerText;
}
function doMailTo() {
var title = $('#title').val();
var el = document.getElementById("container");
//alert(getInnerText(el)); //--> works fine
location.href = "mailto:?subject="+title+"&body="+(getInnerText(el));
}
<a href="javascript:doMailTo();">Email</a>
This works great in the alert but the line breaks get lost in the email. Is there a way we can replace the line breaks with %0A%0a ? Or do the same thing in another way?
Thank you!