Willkommen in der Webstatt Zum Webstatt Blog und Stories
gecko am 19.09.06 07:19

hallo

um via klick einen text in die zwischenablage zu kopieren nutze ich folgendes script:

<script type="text/javascript">
<!--
function TextKopieren(FeldID)
{
document.getElementById(FeldID).focus();
document.getElementById(FeldID).select();
if(document.all)
{
Bereich=document.getElementById(FeldID).createTextRange();
Bereich.execCommand("Copy");
}
}
//-->
</script>


und dann das:
<input name="k_id" type="text" value="<? echo $row['k_id']; ?>" size="76" class="form"/><a href="javascript:TextKopieren(k_id);">kopieren</a>

funktioniert,solange es ein textfeld ist, problemlos.
nun hab ich aber mehrere dieser textfelder, die dynamisch -je nach anzahl datensätze in der DB - generiert werden.

kann mir jemand sagen, wie ich den javascript-link (TextKopieren) ändern muss, damit das klappt?
bin für tipps dankbar!

netcup.de Warum gibt es hier Werbung?
Michael Michael am 19.09.06 11:16

Hi,

vorneweg: Soweit ich weiß funktioniert diese ganze execCOmmand Sache nur im IEX oder?

Zu deinem Problem:
Ohne Umwege kann man es nicht, allerdings ist der Umweg nicht sehr umständlich:

1) Du brauchst ein verstecktes Textfeld
2) Den auszuwählenden Text setzt du in dem Textfeld zusammen
3) Du wählst alles in dem Textfeld aus (element.select())
4) Du kopierst den Text (createTextRange().execCommand("Copy"))

Allgemein ist es problematisch, dass dieses wirklich nur auf Textfelder (oder genauer TextRange Elemente) anwendbar ist - nicht auf einen String.
Du musst also ein Feld mit dem auszuwählenden Text simulieren, um den Text in die Zwischenablage zu kopieren

gecko am 19.09.06 11:26

ouhhh..ok, dachte es ginge etwas simpler.
markieren, copy-paste wird wohl meine lösung aussehen :)

aber danke dir für's echo.

Creative Commons Lizenzvertrag
Alle Inhalte des Webstatt-Archivs stehen unter einer Creative Commons Namensnennung - Weitergabe unter gleichen Bedingungen 3.0 Unported Lizenz.

Impressum & Kontakt