Erstellen Sie eine Schaltfläche zum Kopieren des Links in der Liste mit einem eindeutigen Wert – PHP und JavaScript
P粉211273535
P粉211273535 2023-09-16 00:15:27
0
1
630

Ich schreibe mein eigenes WordPress-Plugin, weshalb einige Codes möglicherweise etwas seltsam aussehen. Aber mein Problem ist einfach altes PHP.

Ich habe eine Spielerliste erstellt und jeder Spieler hat eine eindeutige URL. Ich möchte in jeder Zeile/jedem Spieler eine Schaltfläche „Link kopieren“ haben. Aber ich schaffe es scheinbar nicht, das zum Laufen zu bringen.

Ich möchte die Website beim Kopieren nicht aktualisieren, daher muss ich wohl etwas wie Ajax verwenden. Aber ich habe keine Erfahrung.

Ich habe versucht, es mit JavaScript zu erstellen, aber wenn ich den Link (String) übergebe, wird immer wieder ein Fehler ausgegeben. Es wird Folgendes ausgegeben: „Unerwartetes Token ‚:‘. Erwartetes ‚)‘ zum Ende der Argumentliste.“

Ich habe meine PHP-Datei so eingerichtet:

<?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粉211273535
P粉211273535

Antworte allen(1)
P粉439804514

您应该用双引号或单引号将 copyToClipboard 函数的参数括起来。此解决方案通过添加反斜杠 (\) 来转义 '

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

您的播放器链接可能包含 https: 并且冒号会导致错误消息。

Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage