• 10-12-2022, 08:18:26
    #1
    Arkadaşlar merhaba, ben textarea içerisinde ki verileri kopyalatmak istiyorum buton işlemini felan hallettim yalnız alt alta 3-4 tane textarea olduğunda hep 1. textin içini kopyalıyor. Bunu nasıl çözebilirim.

    VERİYİ ÇEKTİRDİĞİM TEXTAREA KODU:

    <td><textarea class="form-control" id="metin">'.$bilgi["kadi"].'</textarea></td>

    BUTONUN KODU:

    <td><button onclick="kopyala()" class="btn btn-primary">Kopyala</button> </td>

    JS KODu:


    <script language="Javascript">

    function kopyala(){
    var text = document.getElementById("metin");
    text.select();
    document.execCommand("copy");
    }
    </script>

    SORUNUN GÖRÜNTÜSÜNÜ BU ŞEKİLDE BIRAKTIM. 3. KOPYALAMA BUTONUNADA TIKLASAM 1. VERİYİ KOPYALIYOR 2. BUTONADA TIKLASAM 1. VERİYİ ALIYOR.

  • 10-12-2022, 08:23:46
    #2
    ZeusBey adlı üyeden alıntı: mesajı görüntüle
    Arkadaşlar merhaba, ben textarea içerisinde ki verileri kopyalatmak istiyorum buton işlemini felan hallettim yalnız alt alta 3-4 tane textarea olduğunda hep 1. textin içini kopyalıyor. Bunu nasıl çözebilirim.

    VERİYİ ÇEKTİRDİĞİM TEXTAREA KODU:

    <td><textarea class="form-control" id="metin">'.$bilgi["kadi"].'</textarea></td>

    BUTONUN KODU:

    <td><button onclick="kopyala()" class="btn btn-primary">Kopyala</button> </td>

    JS KODu:


    <script language="Javascript">

    function kopyala(){
    var text = document.getElementById("metin");
    text.select();
    document.execCommand("copy");
    }
    </script>

    SORUNUN GÖRÜNTÜSÜNÜ BU ŞEKİLDE BIRAKTIM. 3. KOPYALAMA BUTONUNADA TIKLASAM 1. VERİYİ KOPYALIYOR 2. BUTONADA TIKLASAM 1. VERİYİ ALIYOR.

    Selam. Hepsine aynı id yi vermişsin ve bütün butonların “metin” id sine bakıyor.
  • 10-12-2022, 08:26:15
    #3
    fabemol adlı üyeden alıntı: mesajı görüntüle
    Selam. Hepsine aynı id yi vermişsin ve bütün butonların “metin” id sine bakıyor.
    Şimdi buraya forum dolduruldukça alt alta veri geliyor. Peki nasıl bir şekilde yapabilirim.
  • 10-12-2022, 09:02:44
    #4
    This ile yakala hocam. Ama jquery yok sanırım. Dahil edip kullanmanızı tavsiye ederim.
  • 10-12-2022, 09:26:10
    #5
    Merhabalar.
    Her textarea'ya ayrı id'ler verin. Şuan hepsinin id'si metin, onları metin1-metin2 vb şeklinde değiştirin.
    Sonrasında js kodundaki document.getElementById(""); kısmında hangi textarea'ya erişmek istiyorsanız onun id'sini kullanın.
  • 10-12-2022, 09:31:35
    #6
    İdl'eri ayarla.
    Fonksiyon ile değişken gönder, örneğin textarea id'sini. Buton onclick kodunu kopyala(metin1) - kopyala(metin2) - kopyala(metin3) yaparsın, script ile bunu algılatırsın.
    metin1 yerine this koymak daha iyi olur ama sadece 3 buton ise gerek yok. Sorun olursa akşam eve geçince kod atarım.
    Kolay gelsin.
  • 10-12-2022, 10:37:13
    #7
    nmelihkutlu adlı üyeden alıntı: mesajı görüntüle
    İdl'eri ayarla.
    Fonksiyon ile değişken gönder, örneğin textarea id'sini. Buton onclick kodunu kopyala(metin1) - kopyala(metin2) - kopyala(metin3) yaparsın, script ile bunu algılatırsın.
    metin1 yerine this koymak daha iyi olur ama sadece 3 buton ise gerek yok. Sorun olursa akşam eve geçince kod atarım.
    Kolay gelsin.
    hocam 3 buton değil. Bir forum var anasayfada kullanıcı forum doldurdukça veritabanına veri düşüyor ve o veriler listeleniyor. Yani 20 adette olabilir 5 adette 3-5 adet olsa butonlara id tanımlaması yapacağım ama sayı yok yani vertabanından gelen veriye göre buton olacak
  • 10-12-2022, 10:48:24
    #8
    Öncelikle aşağıdaki şekilde textarealar için bir class ve butonlar için bir class tanımlayınız, Sonra tüm butonlardan onclick değerini kaldırın gerek yok

    VERİYİ ÇEKTİRDİĞİM TEXTAREA KODU:

    Örnek textarea:
    <textarea class="form-control text_area_class">hello</textarea>

    Örnek buton:
    <button class="btn btn-primary buton_class">Kopyala</button>

    Javascript Kodları:

                document.querySelectorAll('.buton_class').forEach(function(v,i){
                                v.addEventListener('click',function(e){
                                                let text = Array.from(document.querySelectorAll('.text_area_class'))[i];
                                                text.select();
                                                document.execCommand("copy");
                                            })
                            });
    Tabi js koları sayfanın altında yer almalı
  • 10-12-2022, 12:08:41
    #9
    dnaz adlı üyeden alıntı: mesajı görüntüle
    Öncelikle aşağıdaki şekilde textarealar için bir class ve butonlar için bir class tanımlayınız, Sonra tüm butonlardan onclick değerini kaldırın gerek yok

    VERİYİ ÇEKTİRDİĞİM TEXTAREA KODU:

    Örnek textarea:
    <textarea class="form-control text_area_class">hello</textarea>

    Örnek buton:
    <button class="btn btn-primary buton_class">Kopyala</button>

    Javascript Kodları:

                document.querySelectorAll('.buton_class').forEach(function(v,i){
                                v.addEventListener('click',function(e){
                                                let text = Array.from(document.querySelectorAll('.text_area_class'))[i];
                                                text.select();
                                                document.execCommand("copy");
                                            })
                            });
    Tabi js koları sayfanın altında yer almalı

    Hocam çok teşekkür ederim dediğiniz şekilde yaptım ve oldu