<script type="text/javascript">
function addLink() {
var body_element = document.getElementsByTagName('body')[0];
if (document.activeElement &&
( document.activeElement.tagName.toLowerCase () == "input"))
{
var text = document.activeElement.value;
var selection = text.substring (document.activeElement.selectionStart,
document.activeElement.selectionEnd);
}
else {
var selection = window.getSelection();
}
var pagelink = "<p>Ссылка <a href='"+document.location.href+"'>"+document.location.href+"</a></p>";
var copytext = selection + pagelink;
var newdiv = document.createElement('div');
newdiv.style.position = 'absolute';
newdiv.style.left = '-99999px';
body_element.appendChild(newdiv);
newdiv.innerHTML = copytext;
selection.selectAllChildren(newdiv);
window.setTimeout( function() {
body_element.removeChild(newdiv);
}, 0);
}
document.oncopy = addLink;
</script>
Текст текст
<input type="text" value="Some text in an input field." size="40"/>
Собственно к тексту из body при копировании url добавляется, а вот при копировании из input нет, хотя выделенное значение берется.