Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [html albo js] Input kopiuj zaznacz
Forum PHP.pl > Forum > Po stronie przeglądarki > HTML \ XHTML
Krzychur
Jak zrobić takie pole input w którym jest jakiś tekst, którego nie da się zmazać. A pod tym polem są przyciski inputy zaznacz tekst co jest w tym wyższym inpucie oraz kopiuj zaznaczony tekst.
marlowe
Witam,
napisałem takie coś- myślę, że to masz na myśli:
[xml:1:f1d067c105]<form name="kopiowanie">
<textarea type="text" name="wpisz" disabled/>Tu jest tekst do skopiowania</textarea>
<br/>
<input type="button" name="do_schowka" value="kopiuj do schowka" onclick="document.kopiowanie.wpisz.select(); document.execcommand('copy');"/>
</form>[/xml:1:f1d067c105]
Niestety tekst musi się znajdować w textarea, input type=text nie zadziała (obiekt nie obsługuje tego polecenia).
Przykład działania skryptu- tutaj.
Pozdrawiam :)
Bartek
Krzychur
Dobra wystarczy dzieki.
marlowe
Przepraszam, były dwa błędy i jednak to nie działało:
- niestety nie może być włączone disabled (czyli wyłaczenie textarea, blokada przed pisaniem w nim);
- execCommand zamiast execCommand;
Czyli poprawny kod to:
[xml:1:0bdb3cf0fa]<form name="kopiowanie">
<textarea name="wpisz">Tu jest tekst do skopiowania</textarea><br>
<input type="button" value="kopiuj do schowka" onclick="document.kopiowanie.wpisz.select(); document.execCommand('copy');"/>
</form>[/xml:1:0bdb3cf0fa]
Pozdrawiam
Bartek
Krzychur
Dobra leniwcy sobie sami zaznaczą i skopiują kod. Pomogłeś mi bo zapomniałem o atrybucie disabled.
marlowe
Przepraszam, były dwa błędy i jednak to nie działało:
- niestety nie może być włączone disabled (czyli wyłaczenie textarea, blokada przed pisaniem w nim);
- execCommand zamiast execCommand;
Czyli poprawny kod to:
[xml:1:f8805ca862]<form name="kopiowanie">
<textarea name="wpisz">Tu jest tekst do skopiowania</textarea><br>
<input type="button" value="kopiuj do schowka" onclick="document.kopiowanie.wpisz.select(); document.execCommand('copy');"/>
</form>[/xml:1:f8805ca862]
Pozdrawiam
Bartek
Krzychur
ojejku widze podwojnie biggrin.gif
marlowe
Pomyślałem, że w sumie to musi się dać jakoś zrobić. Znalazłem taki skrypt ale nie potrafię go "skrócić" tak by dotyczył po prostu jednego tekstu i jednego przycisku.
w head:
Kod
<script>

function clip_copy(p) {

   if (document.all && navigator.userAgent.match(/windows/i)) {

      copy_obj = document.kopiowanie.zawartosc[p - 1].createTextRange()

      copy_obj.execCommand("Copy")

      alert("Skopiowałeś " + p + " do schowka!");

   }

}

</script>

w body:
[xml:1:7b1d16f368]<form name=kopiowanie>
<input type="hidden" name="zawartosc" value="To jest napis nr. 1">
<input type="button" onClick="clip_copy(1)" value="To jest zdanie nr. 1"><br/>
<input type="hidden" name="zawartosc" value="To jest napis nr. 2">
<input type=button onClick="clip_copy(2)" value="To jest zdanie nr. 2"><br/>
<input type="hidden" name="zawartosc" value="To jest napis nr. 3">
<input type=button onClick="clip_copy(3)" value="To jest zdanie nr. 3"><br/>
</form>[/xml:1:7b1d16f368]
Przykład jest tutaj.
Pozdrawiam
Bartek
Teodor
Te funkcje execCommand(copy, paste, cut) niestety albo "stety" sa domyslnie, w celu ochrony prywatnosci, w Mozilli wylaczone.
Mozna je wlaczyc edytujac plik konf Mozilli - ale to juz indywidualnie musialby kazdy zrobic na swoim komputerze.

Pozdrawiam
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.