Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Вопрос по mailto & contenteditable div (https://javascript.ru/forum/misc/49166-vopros-po-mailto-contenteditable-div.html)

Guest70 31.07.2014 18:03

Вопрос по mailto & contenteditable div
 
Добрый день!


Есть такой html

<div contenteditable="true" style="min-height:50px; width:300px;" id="txtDiv"> 
                <div id="frequency_txt"></div>                		
 </div>


и такой js

var frequency = document.getElementById("frequency"),
          frequency_txt = document.getElementById("frequency_txt"),
          freq_opt = {
            under6ghz: "Частота: До 6 ГГц",           
	         under18ghz: "Частота: До 18 ГГц",			
          }         
      frequency.onchange = function(){
        frequency_txt.innerHTML = freq_opt[this.value];
      }	


var ContentofDiv = $('#txtDiv').html();


Вопрос:

Можно ли в кнопку mailto запихнуть содержимое первого дива?
То есть, чтобы в теле письма отобразилось "Частота: До 6 ГГц" или "Частота: До 18 ГГц"

jsnb 01.08.2014 04:38

Цитата:

Сообщение от Guest70
Можно ли в кнопку mailto запихнуть содержимое первого дива?

Что за кнопка mailto? Если имеется ввиду ссылка с адресом вида mailto:email@email.com, то там можно тело письма задать через параметры:
mailto:email@email.com?body=тело_письма

Guest70 01.08.2014 10:06

вроде того, только в теле_письма должен быть не просто напечатанный текст, а результат работы html.
такой способ испробовал - не хочет:

function letter(addr) {
    location.href = "mailto:"+addr+"?subject=some subject&body="+document.getElementById('txtDiv').innerHTML;
}


<a href="javascript:letter('email@email.com');">send</a>

jsnb 01.08.2014 11:30

Ну можно изменять адрес ссылки непосредственно при клике, как-то так:
<a href="mailto:default@email.com" id="mailLink">write mail</a>

<script>
document.getElementById('mailLink').onclick = function() {
  var addr = 'someaddr@email.com';
  var body = document.getElementById('txtDiv').innerHTML;
  var subject = 'some_subject';
  
  this.href = 'mailto:' + addr + '?subject=' + subject + '&body=' + body;
}
</script>

Guest70 01.08.2014 12:50

вот, уже ближе.
но .innerHTML переносит в тело_письма и теги.
может .text какой прописать? или .value

jsnb 01.08.2014 13:34

Ну можно использовать textContent (или innerText для старых IE).

Guest70 01.08.2014 14:56

вот! спасибо) плюсов в карму


Часовой пояс GMT +3, время: 23:30.