Przycisk kopiowania w html

Hej próbuję zrobić przycisk kopiowania zawartości div jednak bez efektu czy mógłby ktoś zerknąć i podpowiedzieć?

Kod zamieściłem tutaj: http://wklej.org/id/1279580/

 

Pozdrawiam

zamiast “value” użyj “innerHTML”

zmieniłem zawartość 

 

<td><button onclick=‘copyToClipboard(document.getElementById(‘testText’).innerHTML=markup);’>Kopiuj</button></td>

 

dodałem jest markup ale nadal nie działa.

 

a niby skąd ten markup? skąd niby ta zmienna pochodzi? miałeś tylko zamienić jedno słowo, a nie dopisywać coś nowego?

zrobiłem tak jak radziłeś zmieniłem to jedno słowo, bez urazy przetestowałeś to? Bo po zmianie tylko tego słowa też nadal nie działało.

ciach

 

  1. Nie nie przetestowałem, bo nie mam takiej funkcji jak “copyToClipboard”.

  2. Ten div z którego próbujesz pobrać tekst, powinien mieć ustawione “id” na “testText”, a nie name … przecież pisze “getElementById”, a nie “getElementByName”.

  3. zawartość atrybutu “onclick” należy ograniczyć podwójnym cudzysłowiem, a nie apostrofem, bo się gryzie z tym co podajesz w metodzie “getElementById”.

  4. zamień “value” na “innerHTML” i wywal “markup” łącznie ze znakiem równości.

  5. wpisz w google “kurs javascript podstawy” i kliknij cokolwiek.

 

P.S.

Bez urazy :stuck_out_tongue:

Proszę uważać na słowa, “nagroda” przyznana…

aktualnie skrypt jest na takim etapie:

html
titlekopiowanie/title
body




table
tr
    thTreść informacji/th    thPrzycisk kopiowania/th
/tr
tr
    tddiv id="testText1"Cześć! skopiowana treść/div
    /td    
    tdbutton type="button" onclick="(document.getElementById('testText1').innerHTML);"Kopiuj/button/td
/tr
tr
    td.../td    td.../td
/tr
/table


/body
/html

poprawiłem name na id, oraz zmieniłem value na innerHTML, niestety nadal nie działa

W tym momencie Twój skrypt nic nie robi :stuck_out_tongue: Zamień

<button type="button" onclick="(document.getElementById('testText1').innerHTML);">Kopiuj</button>

na

<button type="button" onclick="alert(document.getElementById('testText1').innerHTML);">Kopiuj</button>

albo

<button type="button" onclick="prompt('skopiuj - whatever',document.getElementById('testText1').innerHTML);">Kopiuj</button>

po zastosowaniu się do Twoich wskazówek wyświetla informację w postaci okna dialogowego i dalej pod kombinacją CTRL+V nie ma tego co trzeba.

Gdyż ponieważ, robiła to pewnie funkcja “copyToClipboard” zastąpiona przez alert/prompt, ale nie udostępniłeś, więc nie wiadomo.

czego nie udostępniłem? copyToClipboard zaczerpnąłem z innego skryptu znalezionego w google.

Ale to nie jest natywna funkcja Javascript. Należy ją najpierw napisać, bądź podlinkować w sekcji HEAD.

 

Pewnie stąd kopiowałeś: http://www.dynamic-tools.net/toolbox/copyToClipboard/ no więc:

  1. to co jest w tym polu tekstowym (zaczyna się od function copyToClipboard(s) …) wklej do osobnego pliku o nazwie “copyToClipboard.js”

  2. plik ten umieść w tym samym katalogu w którym masz plik z HTMLem

  3. w sekcji HEAD wklej coś takiego:

  4. powinno działać

  5. wpisz w google “kurs javascript podstawy” i … ponownie polecam … przerób jakiś kurs.

Ale wiecie chyba, że takie js’owe kopiowanie do schowka mogłoby zadziałać co najwyżej w IE i/lub Safari… dla przykładu Fx blokuje dostęp do systemowego schowka dla js (danie dostępu wymaga zmian w konfiguracji tej przeglądarki), a rozwiązanie flash’owo-js’owe (mające działać na każdej z przeglądarek) jest uzależnione od wersji flash player’a (od werji 10 wprowadzono obostrzenia ze względów bezpieczeństwa) i jest trudniejsze w implementacji na stronie.

 

PS. Dla zainteresowanych, pierwszy lepszy temat w sieci.

@manieKMP

To, że to praktycznie nigdzie nie zadziała nie jest meritum tematu :wink:

No chyba że tak się “sprawa przedstawia”. Tylko żeby autor tematu nie testował rozwiązań na innych przeglądarka niż IE, z wiadomych względów… :wink:

ten “skrypt” ma służyć jako dodatek do zautomatyzowania procesu nie jest to żadna strona internetowa. Pod IE działa i to mi spokojnie wystarczy do .js wrzuciłem inny opis funkcji copytoclipboard.

 

Zauważyłem jeden problem gdy mam podane w tekście linki do strony www w której występuje & to po kliknięciu kopiuj automatycznie dodaje się po & czy da się to jakoś ogarnąć? Z góry dzięki za pomoc.