Копировать и вставить
Как скопировать текст из одного блока в форму?
например из <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, время: 13:53. |