Копировать и вставить
Как скопировать текст из одного блока в форму?
например из <div id="copy">text for copy</div> в <input type="text" id="paste" value="" size="15" maxlength="128"> |
document.getElementById("paste").value = document.getElementById("copy").innerHTML; |
с помощью jquery http://www.linkexchanger.su/2008/56.html
|
Это всё круто, только мне нужно вставлять текст из дива в текстовую форму. Вот в чем загвоздка...
<div class="copy">Тут копируемый текст!!!</div> <input type="text" size="20" value="Тут копируемый текст!!!" class="bginput"> |
И в чем проблема?
|
Alexxx,
$(".bginput").val($(".copy").text()) |
Цитата:
|
<div id="copy">text for copy</div> <input type="text" id="paste" value="" size="15" maxlength="128"> <input type="button" value="Скопировать" onclick="document.getElementById('paste').value = document.getElementById('copy').innerHTML;" /> |
Цитата:
|
Цитата:
|
<div id="copy">text for copy</div> <input type="text" id="paste" value="" size="15" maxlength="128"> <script type="text/javascript"> document.getElementById('paste').value = document.getElementById('copy').innerHTML; </script> |
Alexxx, вероятно так
<body onload="document.getElementById('paste').value = document.getElementById('copy').innerHTML;"> <div id="copy">text for copy</div> <input type="text" id="paste" value="" size="15" maxlength="128"> UPD. Упс… не увидел ответа. |
Спасибо!
|
Здравствуйте. У меня аналогичный вопрос.
Мне нужно скопировать в переменную содержимое тега pre. С сишным кодом внутри. С подсвеченным содержимым. С форматированием. Как если бы это сделал пользователь мышкой. Как это сделать? зы: в jquery это через text() делается вроде, как самому сделать? зыы: извините что поднимаю старую тему, но именно в ней я ожидал увидеть ответ... зыы: в textContent \n заменяется на пробелы (( |
<pre id="pre"> public: Array() : len(0), val(NULL) {} int len; }; </pre> <script type="text/javascript"> document.write('<b>скопировали:</b><br /><pre>'+document.getElementById('pre').innerHTML+'</pre>') </script> |
О, если бы всё было так легко!:))
Извините, что сразу не акцентировал выше внимание, текст ПОДСВЕЧЕН. С помощью syntaxhighlighter например. А в результате этой подсветки dom безвозвратно унавоживается (( Как-то же это делается! В том же syntaxhighlighter'е есть кнопка скопировать код! |
Цитата:
а вообще, чтобы был доступ к исходному коду, его надо просто скопировать куда-нибудь перед запуском syntaxhighlighter'а |
интересно также что этот же код по двойному клику можно редактировать и при этом вся подсветка убирается!
делай раз: ![]() делай два: ![]() Осталось только понять как можно скопировать подсвеченный текст... |
/** * Quick code mouse double click handler. */ function quickCodeHandler(e) { var target = e.target, highlighterDiv = findParentElement(target, '.syntaxhighlighter'), container = findParentElement(target, '.container'), textarea = document.createElement('textarea'), highlighter ; if (!container || !highlighterDiv || findElement(container, 'textarea')) return; highlighter = getHighlighterById(highlighterDiv.id); // add source class name addClass(highlighterDiv, 'source'); // Have to go over each line and grab it's text, can't just do it on the // container because Firefox loses all \n where as Webkit doesn't. var lines = container.childNodes, code = [] ; for (var i = 0; i < lines.length; i++) code.push(lines[i].innerText || lines[i].textContent); // using \r instead of \r or \r\n makes this work equally well on IE, FF and Webkit code = code.join('\r'); // inject <textarea/> tag textarea.appendChild(document.createTextNode(code)); container.appendChild(textarea); // preselect all text textarea.focus(); textarea.select(); // set up handler for lost focus attachEvent(textarea, 'blur', function(e) { textarea.parentNode.removeChild(textarea); removeClass(highlighterDiv, 'source'); }); }; Вот исходник этой функции, только я всё-равно механизм не могу понять(( |
а ты пробовал firebug'ом посмотреть, как выглядит разметка этого блока? Хочешь убрать разметку? innerText или textContent. Хочешь разбить на строки? Каждая строка в отдельном элементе находится
|
Часовой пояс GMT +3, время: 03:27. |