cari

Rumah  >  Soal Jawab  >  teks badan

Buat butang pautan salin dalam senarai dengan nilai unik - PHP dan JavaScript

Saya sedang menulis pemalam WordPress saya sendiri, itulah sebabnya beberapa kod mungkin kelihatan agak pelik. Tetapi masalah saya ialah dengan PHP lama biasa.

Saya mencipta senarai pemain dan setiap pemain mempunyai URL unik. Saya mahu mempunyai butang "Salin Pautan" pada setiap baris/pemain. Tetapi saya nampaknya tidak boleh membuat ini berfungsi.

Saya tidak mahu mengemas kini tapak secara salinan, jadi saya rasa saya perlu menggunakan sesuatu seperti Ajax. Tetapi saya tidak mempunyai pengalaman.

Saya cuba menciptanya menggunakan JavaScript tetapi apabila saya memasukkan pautan (rentetan) ia terus mencetak ralat. Ia mencetak: "Token yang tidak dijangka ':'. Dijangka ')' untuk menamatkan senarai hujah

Saya telah menyediakan fail PHP saya seperti ini:

<?php
// Fetching the players //

foreach($players as $player) {
    $player_email = get_post_meta($player->ID, 'email')[0];
    $player_status = get_post_meta($player->ID, 'status')[0];
    $player_link = get_permalink($player->ID);
    
    if ($player_status == 'Not completed') { array_push($not_completed_players, 'true'); }
    $return_html .= '
    <li class="players-div">
      <div class="players-text-div"> 
        <p class="players-list-p players-name"> ' . $player->post_title . ' </p>
        <p class="players-list-p players-email"> ' . $player_email . ' </p>
      </div>

      <a class="players-list-p" href="' . $player_link . '"> /' . basename($player_link) . ' </a>
      <p class="players-list-p players-email"> ' . $player_status . ' </p>

      <button type="button" onClick="copyToClipboard(' . $player_link . ')" name="copied_link" value="' . $player_link . '"> Copy link </button>
    </li>';
 }

?>

<script>
  function copyToClipboard(playerLink) {
    navigator.clipboard.writeText( playerLink );
  }
</script>

P粉211273535P粉211273535425 hari yang lalu600

membalas semua(1)saya akan balas

  • P粉439804514

    P粉4398045142023-09-16 23:27:50

    Anda hendaklah menyertakan copyToClipboard 函数的参数括起来。此解决方案通过添加反斜杠 () 来转义 ' dengan petikan berganda atau tunggal:

    copyToClipboard(\'' . $player_link . '\')

    Pautan pemain anda mungkin mengandungi https: dan bertindih yang akan menyebabkan mesej ralat.

    balas
    0
  • Batalbalas