Comment copier du texte d'une textbox vers une autre textbox [Résolu]

Messages postés
5
Date d'inscription
jeudi 13 septembre 2012
Statut
Membre
Dernière intervention
22 avril 2014
-
Bonjour,
Je voudrais copier le contenu d'une Textbox d'une table A dans une Texbox d'une table B avec Javascript.
J'ai trouvé du code pour obtenir les coordonnées de la textbox destination qui s'exécute par un clic dans cette textbox:
<script type="text/javascript">

        function myfunc(txt) {
            txt.style.backgroundColor = "gray";
            txtText = txt
            var p = {};
            p.x = txt.offsetLeft;
            p.y = txt.offsetTop;
            while (txt.offsetParent) {
                p.x = p.x + txt.offsetParent.offsetLeft;
                p.y = p.y + txt.offsetParent.offsetTop;
                if (txt == document.getElementsByTagName("body")[0]) {
                    break;
                }
                else {
                    txt = txt.offsetParent;
                }
            }
            //alert("X:" + p.x + " Y:" + p.y);
            txtText.style.top = p.x;
            txtText.style.left = p.y;
            return p;
            
        }


Je veux ensuite copier le texte de ma textbox source dans la textbox destination par un clic sur la textbox source qui exécutera la fonction:
function Entrernb() {}

mais je ne sais pas écrire cette fonction et je pense que ma fonction myfunc(txt) {} contient des erreurs.
Quelqu'un peut-il m'aider ?
Afficher la suite 

7 réponses

Messages postés
26550
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
21 octobre 2019
316
0
Merci
Bonjour.
Peux tu nous montrer le code html associé ?
Commenter la réponse de jordane45
Messages postés
5
Date d'inscription
jeudi 13 septembre 2012
Statut
Membre
Dernière intervention
22 avril 2014
0
Merci
Bonjour,
Pour le code HTML, la structure est la suivante:


Les texbox destination sont dans une table dont le code HTML est:

<asp:Table ID="Tab1" runat="server" BorderStyle="Solid" CellPadding="0" CellSpacing="0"
HorizontalAlign="Center" CssClass="top">
</asp:Table>

Toutes les textbox dans la table sont de type runat="server" et pour chaque textbox "txt", l'attribut et style suivant est ajouté:

txt.Attributes.Add("onfocus", "myfunc(this)")

txt.CssClass = "chiffreN"

Les texbox source sont dans une table dont le code HTML est:


<asp:Table ID="Tabdata" runat="server"></asp:Table>

Toutes les textbox dans la table sont de type runat="server" et pour chaque textbox "txtText", l'attribut et style suivant est ajouté:

txtText.Attributes.Add("onfocus", "Entrernb(this)")

txtText.CssClass = "chiffreN"
Commenter la réponse de cs_Louco
Messages postés
1717
Date d'inscription
vendredi 9 mai 2008
Statut
Modérateur
Dernière intervention
15 octobre 2019
47
0
Merci
bonjour

c'est le code html genéré qu'il faut car la on ne sait pas si il s'agit de textarea , input ou autre

un exemple pour un textarea qui est le meme pour un input

<html>
<head>
 <meta http-equiv="content-type" content="text/php; charset=ISO-8859-1" />
 
 <script type="text/javascript">

function copier()
{
 document.getElementById("TextArea_2").value=document.getElementById("TextArea_1").value
}
</script>
 
</head>
<body>

<button onclick='copier()'>copier</button>

<textarea  id="TextArea_1" rows="8" cols="30" >Le Lorem Ipsum est simplement du faux texte employé dans la composition et la mise en page avant impression. Le Lorem Ipsum est le faux texte standard de l'imprimerie depuis les années 1500, quand un peintre anonyme assembla ensemble des morceaux de texte</textarea>

<textarea  id="TextArea_2" rows="8" cols="30" ></textarea> 

</body>
</html>


cours Forest cours !
Commenter la réponse de @karamel
Messages postés
5
Date d'inscription
jeudi 13 septembre 2012
Statut
Membre
Dernière intervention
22 avril 2014
0
Merci
Bonjour et merci,

Effectivement le nom dans le code html est ctl550 et n'est pas txtText comme je l'attendais.
Pour la table Tabdata j'obtiens le code suivant:

<table id="Tabdata" class="tabdata9">
<tr>
<td><input name="ctl550" type="text" value="1" class="chiffreN9" onfocus="Entrernb(this)" /></td><td><input name="ctl551" type="text" value="2" class="chiffreN9" onfocus="Entrernb(this)" />

et j'ai la même chose pour la table Tab1.

Je peux essayer d'ajouter un ID à chaque textbox, est-ce que ça suffirait ?
Commenter la réponse de cs_Louco
Messages postés
5
Date d'inscription
jeudi 13 septembre 2012
Statut
Membre
Dernière intervention
22 avril 2014
0
Merci
Bonjour,

Vous m'avez mis sur la voie, j'ai enfin compris la puissance du langage Javascript et j'ai pu écrire en quelques lignes le code pour effectuer la copie de textbox à textbox:

<script type="text/javascript">

        function myfunc(txt) {
            txt.style.backgroundColor = "gray";
            txtdest = txt
            
        }
        function Entrernb(txtsource) {
            var result = txtsource.value;
                txtdest.style.backgroundColor = "";
                txtdest.value = result
        }
    </script>


Merci.
Commenter la réponse de cs_Louco
Messages postés
1717
Date d'inscription
vendredi 9 mai 2008
Statut
Modérateur
Dernière intervention
15 octobre 2019
47
0
Merci
de rien
Commenter la réponse de @karamel
Messages postés
5
Date d'inscription
jeudi 13 septembre 2012
Statut
Membre
Dernière intervention
22 avril 2014
0
Merci
Merci à toi kazma.
EnguerrandP
Messages postés
295
Date d'inscription
vendredi 26 avril 2013
Statut
Membre
Dernière intervention
15 juillet 2015
-
Si le sujet et clos marque le comme résolu .
Commenter la réponse de cs_Louco