11522 sujets

JavaScript, DOM et API Web HTML5

Bonjours,

Je cherche désespérément de copier les données du VALUE d'un imput avec la fonction

Voici le code que j'ai sur l'imput:
<td class="list-inline"><input class="input-syle-text list-inline-item" readonly="readonly" id="copy" onclick="select();" title="cliquez pour sélectionner!" value="<?= decrypt($key, $l['information_data']); ?>"/></td>


La fonction select() permet de saisir d'un clique tout le texte contenu dans le champ automatiquement, au lieu de double clique.
Mais sur mobile, il est plus difficile de devoir sélectionner le texte et le copier.

C'est pourquoi j'ai besoin que quand on clique sur l'input on puisse copier le texte directement, plutôt que le sélectionner, voir, même les deux histoire d'avoir un visuel de sélection du texte.

Je ne peux pas rajouter de bouton, car c'est dans une boucle que les données sont contenues, et par esthétique également.

Je vous remercie de votre aide, en espérant avoir était assez clair sur mes demandes.

PS: J'ai regarder plusieurs sujets qui traitent de cela, mais aucun ne correspond à mes besoins réels.

Très cordialement.
Modifié par Fre3z69 (05 Mar 2019 - 00:27)
Salut !

Pour ça, d'autre gars l'ont déjà fait Smiley smile
suffit de se servir Smiley smile

function copyToClipboard(element) {
  var $temp = $("<input>");
  $("body").append($temp);
  $temp.val($(element).text()).select();
  document.execCommand("copy");
  $temp.remove();
}
Modérateur
Ah ! il me semblait que c'était hyper bloqué par les navigateurs en Js et que finalement les seules solutions existantes passait par du flex... C'est cool a savoir en tout cas ! Merci JENCAL et merci Fre3z69 pour la question du coup !
Merci pour cette réponse. En effet j'avais vu ce genre de code mais avec un bouton d'appel. En mettant directement la fonction dans le onclick() cela ne fonctionne pas de mon coté.
N'ayant pas les connaissances sur le js, je sollicite votre aide pour a partir de mon code créer la fonction pour copier le contenu. Je rajoute que j'ai deux champs dans la boucle à copier mais indépendamment.

Je vous remercie beaucoup.

Très cordialement.
Bonjour,

Après maintes et maintes essaie, tentatives en tout genre, recherches, ...,
la solution est apparue Smiley cligne

Un truc tout bête mais fonctionnel

function copyValue(value) 
{
	document.execCommand('copy');
}


Je penses que c'est améliorable, mais pour l'heure ça fait le café.

N’hésitez pas à m'aider à optimiser ou améliorer le script, en rajoutant par exemple un style sur le texte copié différent et temporaire, Smiley cligne ou mieux, une petite information style modale auto fermante qui indique que le texte est copié.
Ça serait l'idéal, mais c'est juste pour être plus propre et plus fonctionnel.

Mes compétences en JS étant ===0, je ne serais pas y arriver sans aide Smiley cligne

En tout cas, merci à vous.
Modifié par Fre3z69 (06 Mar 2019 - 08:42)