COMING SOON 🚀

채택완료

인풋태그로 영상 도메인 복사 하려고하는데, 제일 최상위 게시물의 링크가 복사됩니다.

Copy
<div class="share_btn" style="position:fixed; top:-99999px;">
                                    <input id="myInput" value="<?php echo $list[$i]['href'] ?>" readonly style="position:fixed; top:-99999px;">
                                <p onclick='copy_to_clipboard()' class="share_btn_p">공유하기&nbsp;<i class='fas fa-share-alt'></i></p>
                                </div>

<script>

        function copy_to_clipboard() {    
  var copyText = document.getElementById('myInput');
  copyText.select();
  copyText.setSelectionRange(0, 99999);
  document.execCommand("Copy");
  alert('링크가 복사되었습니다.');
}
</script>

스크립트는 문서 최하단에 기재되어있습니다.

이렇게 해당 링크를 복사할 수 있게해서 하려고하는데, 

 

출력은 그 게시물에 해당하는 게시글링크가 input에 적혀있는데, 실제 복사는 제일 최근에 등록된 게시물의 링크가 복사가 되버리네요 ㅠㅠ 

 

어디부분이 잘못된걸까요 ㅠㅠ?

|

답변 1개 / 댓글 1개

채택된 답변
+20 포인트

id는 중복이 있으면 안되고.. 중복이 있게되는 경우.. 원하는 결과를 얻기 어렵습니다.

중복을 피하는 방법입니다.

 

Copy
<div class="share_btn" style="position:fixed; top:-99999px;">
    <input id="myInput_<?php echo $i ?>" value="<?php echo $list[$i]['href'] ?>" readonly style="position:fixed; top:-99999px;">
    <p onclick='copy_to_clipboard(<?php echo $i ?>)' class="share_btn_p">공유하기 <i class='fas fa-share-alt'></i></p>
</div>
<script>
function copy_to_clipboard(idx) {    
    var copyText = document.getElementById('myInput_' + idx);
    copyText.select();
    copyText.setSelectionRange(0, 99999);
    document.execCommand("Copy");
    alert('링크가 복사되었습니다.');
}
</script>

답변에 대한 댓글 1개

답변을 작성하려면 로그인이 필요합니다.