Make a COPY to Clipboard button

How do I make a button on form that copies data from a field to clipboard and is there a way to make one on a record in a form?

perhaps you can try this? Copy text to the clipboard with PHP and JavaScript? - Stack Overflow

in onLoad event, this example copy an Adress to ClipBoard

you need two local field {add} contain the text to copy and {CC} is the copy to clipboard button, it’s a text field with Label at ON

   {add} = {Adress} . ', ' . {City} . ', ' . {State} . ', ' . {ZipCode};
   sc_field_display({add}, 'off');

 ?>
    <script>
    function CopyToClipBoard()
    {
         var sText = document.getElementById("id_sc_field_add");
         sText.select();
         sText.setSelectionRange(0, 99999);
    	
         var c=document.createElement("textarea");
         c.innerText=sText.value;
         document.body.appendChild(c);       
            
         c.select();
         document.execCommand("copy");
         document.body.removeChild(c);
    }
    </script>
    <?php

    {CC} = "<button type=\"button\" onclick=\"CopyToClipBoard()\">Copy Adress</button>";
1 Like

I created a javascript button and inserted this code, it works very well:

// Codice JavaScript nel bottone
var datoDaCopiare = <?php echo json_encode($act_code); ?>;

if (navigator.clipboard) {
if (window.isSecureContext) {
// Utilizza l’API Clipboard
navigator.clipboard.writeText(datoDaCopiare).then(function() {
alert(‘Dato copiato negli appunti!’);
}, function(err) {
alert('Errore nel copiare il dato: ’ + err);
});
} else {
// Metodo alternativo per contesti non sicuri
copiaConExecCommand(datoDaCopiare);
}
} else {
// Metodo alternativo se navigator.clipboard non è supportato
copiaConExecCommand(datoDaCopiare);
}

// Funzione per copiare utilizzando execCommand
function copiaConExecCommand(testo) {
var textarea = document.createElement(‘textarea’);
textarea.value = testo;
document.body.appendChild(textarea);
textarea.select();
try {
var esito = document.execCommand(‘copy’);
if (esito) {
alert(‘Dato copiato negli appunti!’);
} else {
alert(‘Impossibile copiare il dato.’);
}
} catch (err) {
alert('Errore nel copiare il dato: ’ + err);
}
document.body.removeChild(textarea);
}