Auswahlliste - gewählte Auswahl in die Zwischenablage kopieren.

Diskutiere Auswahlliste - gewählte Auswahl in die Zwischenablage kopieren. im JavaScript Forum im Bereich Programmierung; Die Einträge der Auswahlliste kommen von einer txt-Datei. Nach dem Auswahl von einer Listenposition möchte ich diese durch Buttonclick in die...
L

lonix25

New member
Beiträge
4
Punkte Reaktionen
0
Die Einträge der Auswahlliste kommen von einer txt-Datei.
Nach dem Auswahl von einer Listenposition möchte ich diese durch
Buttonclick in die Zwischenablage direkt kopieren.

Für Ideen danke ich Euch herzlich.
 
L

lonix25

New member
Beiträge
4
Punkte Reaktionen
0
Bis jetzt habe ich folgendes zusammengestellt:
<html>
<head>
<title>Eintrag in Zwischenablage</title>
</head>
<body>

<script>
function copy2Clipboard(str) {
ta = document.createElement('textarea');
ta.value = str;
document.body.appendChild(ta);
ta.select();
document.execCommand('copy');
document.body.removeChild(ta);
};
</script>
<?php
echo "Auswahl<BR>";
// in der Datei liste.txt stehen die Einträge
$datei1=file("./liste.txt");
?>
<form method="post" action="">
<select name="datei1">
<?php
foreach ($datei1 as $element)
{
?>
<option value="<?=htmlspecialchars($element)?>">
<?=htmlspecialchars($element)?>
</option>
<?php
}
?>
</select>
<input type="submit" name="absenden" value="Auswahl absenden">
</form>
<?php
// bis hier das Select, dann die Variable übergeben
if (isset($_POST['absenden']))
{
$dateiname = $_POST['datei1'];
{
echo"Auswahl ";
echo "$dateiname "."<br>" ;
}
}
?>
<button onclick="copy2Clipboard(<?=$dateiname?> )">Auswahl kopieren</button>
</body>
</html>

Damit bin ich nicht 100% zufrieden. Ich möchte es mit einem Click auf nur einen Button erledigen.
Ich komme nicht weiter.
Danke für Vorschläge und Ideen.
 
S

Sempervivum

Well-known member
Beiträge
353
Punkte Reaktionen
52
Wann genau möchtest Du die Auswahl denn in die Zwischenablage kopieren, vor oder nach dem Abschicken des Formulars? Oder gleich beim Auswählen einer Option? Oder nach dem Abschicken des Formulars automatisch ohne dass Du noch Mal einen Button drücken musst?
Edit: Vor oder nach Abschicken ist eigentlich egal weil die Zwischenablage, anders als der Inhalt einer Variablen, über einen Submit hinweg erhalten bleibt.
 
Zuletzt bearbeitet:
L

lonix25

New member
Beiträge
4
Punkte Reaktionen
0
Hallo Sempervivum.
Danke für die schnelle Antwort.
Jetzt um das zu erledigen muss ich 2 Buttons anklicken.
1. "Auswahl absenden"
2. "Auswahl kopieren"
Ich möchte nur einen Button anklicken dh. eigentlich nach dem Abschicken des Formulars automatisch ohne den zweiten Button zu drücken soll das in die ZA kopiert werden.
 
S

Sempervivum

Well-known member
Beiträge
353
Punkte Reaktionen
52
Versuche, deinen Submitbutton so zu ändern:
Code:
    <form method="post" action="">
        <select name="datei1" id="select1">
            <?php
                // Hier das Erzeugen der Optionen wie Du es schon hast
            ?>
        </select>
        <input type="submit" name="absenden" onclick="copy2Clipboard(document.getElementById('select1').value);"
            value="Auswahl absenden">
D. h. beim Submit wird die Funktion copy2Clipboard aufgerufen mit dem Wert deines Selects als Parameter. Dazu musst Du dem Select die verwendete ID geben, natürlich kannst Du diese ändern.
Deine Version des Kopierens in die ZA ist nicht ganz auf der Höhe der Zeit, hier wird eine modernere Version empfohlen:
https://www.sitepoint.com/clipboard-api/
Aber versuche es erst Mal damit.
 
L

lonix25

New member
Beiträge
4
Punkte Reaktionen
0
Hallo Sempervivum.
Dein Code funktioniert👍 einwandfrei.
Noch mal vielen Dank.
Ich werde auch, aber später, die clipboard-api näher angucken.
 
Thema:

Auswahlliste - gewählte Auswahl in die Zwischenablage kopieren.

Oben Unten