IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

JavaScript Discussion :

Déplacement entre tableaux


Sujet :

JavaScript

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Janvier 2013
    Messages
    36
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2013
    Messages : 36
    Par défaut Déplacement entre tableaux
    Bonjour à tous,

    Alors je cherche à faire des déplacements de <tr><td> entre deux tableaux. Tout ce passe bien jusqu'à que je reprenne l'élément que j'ai glissé dans l'autre tableau. En effet, il ne veux pas et me prend l'élément au dessus dans le tableau. Pour mieu expliquer :

    Le premier double clique sert à prendre, et le second à déposer.

    Je double clique(1) l'élément nommé "a" du tableau 1 et je double clique(2) dans le tableau 2 l'élément nommé "a" est déplacé dans le tableau 2.
    Lorsque je double clique(1) à nouveau l'élément nommé "a" dans le tableau 2 et je double clique(2) dans le tableau 1 pour le remettre à sa place, c'est l'élément "d" qui bouge et non le "a".


    mon code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    <!DOCTYPE html>
    <html lang="en">
    	<head>
    		<meta charset="utf-8" />
     
    		<!-- Always force latest IE rendering engine (even in intranet) & Chrome Frame
    		Remove this if you use the .htaccess -->
    		<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1" />
     
    		<title>liste1</title>
    		<meta name="description" content="" />
    		<meta name="author" content="stagiaire" />
     
    		<meta name="viewport" content="width=device-width; initial-scale=1.0" />
     
    	<script>
    var text, value,test,tr,D;
    		D=0
        	value=""
        	text=""
        	tr=""
        	test=1;
    function recup(id) {
     
    	//On récupère le text, et l'id de l'élément selectionné.
    	var selectElmt = document.getElementById(id)
    	text=document.getElementById(id).textContent 
    	value=selectElmt.id	
    }
     function del (id) {
     
     	 tr=document.getElementById(id).parentNode.id
    	document.getElementById(tr).parentNode.removeChild(document.getElementById(tr));
    }
        function depose(id){
     
    		var a=text
    		var b=value
    		var c=tr		document.getElementById(id).parentNode.parentNode.innerHTML += '<tr id='+c+'><td id='+ b +'  ondblclick="choix('+id+');">'+a+'</td></tr>';															
    	   }    
    function choix(id){
     
    	if(test==1 )
    	{
    		recup(id)
    		del(id)
    		test=0	
    	}
    	else
    	{		
    		depose(id)
    		test=1
    	}
    }
     
    	</script>
    	</head>
     
    	<body >
     
     
    <table border="1" width="50" height="50" id="tb1"> 
     
    	<tr id="tr1"> 
    		<td id="1" ondblclick="choix(id)">
    			1
    		</td>
    	</tr> 
    	<tr id="tr2"> 
    		<td id="2" ondblclick="choix(id)">
    			2
    		</td>
    	</tr>
    	<tr id="tr3"> 
    		<td id="3" ondblclick="choix(id)">
    			3
    		</td>
    	</tr>
    </table>
     
       <br/>
       <br/>
     
    <table border="1" width="50" height="50" id="tb2" > 
     
    	<tr id="tr4"> 
    		<td id="4" ondblclick="choix(id)">
    			4
    		</td>
    	</tr> 
    	<tr id="tr5"> 
    		<td id="5" ondblclick="choix(id)">
    			5
    		</td>
    	</tr
     
    </table> 
     
     
    	</body>
    </html>
    Comment corriger ça ?

    Merci et bonne journée!

  2. #2
    Membre averti
    Homme Profil pro
    Inscrit en
    Janvier 2013
    Messages
    24
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Janvier 2013
    Messages : 24
    Par défaut
    Il prend l'élèment sur lequel tu double clique pour déposer, ce qui est logique puisque tu récupere l'id de l'élèment sur lequel tu double clique a chaque fois... il manque un paquet de ";" aussi, dans le doute moi je les mets...

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Janvier 2013
    Messages
    36
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2013
    Messages : 36
    Par défaut
    Justement, j'ai fait la fonction choix qui sert d"aiguillage" pour que le deuxième double clique ne récupère pas d'id mais sert juste à déplacer ce qui à été gardé dans les variables.

  4. #4
    Membre averti
    Profil pro
    Inscrit en
    Janvier 2013
    Messages
    36
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2013
    Messages : 36
    Par défaut
    Tu avais partiellement raison ! Le soucis venait de la :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    document.getElementById(id).parentNode.parentNode.innerHTML += '<tr id='+c+'><td id='+ b +'  ondblclick="choix('+id+');">'+a+'</td></tr>';
    L'id qui est dans ondblclick="choix('+id+'); reprenait l'id de l'élément double-cliqué. Donc voila, cela fonctionne!

    Merci à toi !

  5. #5
    Membre averti
    Homme Profil pro
    Inscrit en
    Janvier 2013
    Messages
    24
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Janvier 2013
    Messages : 24
    Par défaut
    Derien, dépose ta solution, si sa peux en aider d'autre au passage

    Bonne journée

  6. #6
    Membre averti
    Profil pro
    Inscrit en
    Janvier 2013
    Messages
    36
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2013
    Messages : 36
    Par défaut
    Voila le final

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    127
    128
    129
    130
    131
    132
    133
    134
    135
    136
    137
    138
    139
    <!DOCTYPE html>
    <html lang="en">
    	<head>
    		<meta charset="utf-8" />
     
    		<!-- Always force latest IE rendering engine (even in intranet) & Chrome Frame
    		Remove this if you use the .htaccess -->
    		<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1" />
     
    		<title>liste1</title>
    		<meta name="description" content="" />
    		<meta name="author" content="stagiaire" />
     
    		<meta name="viewport" content="width=device-width; initial-scale=1.0" />
     
    	<script>
     
     
     
     
     
    var text, value,test,tr,D;
    		D=0;
        	value="";
        	text="";
        	tr="";
        	test=1;
    function recup(id) {
     
    	//On récupère le texte, et l'id de l'élément double cliqué ainsi que le tr dans lequel il se situe.
     
    	var selectElmt = document.getElementById(id);
    	text=document.getElementById(id).textContent ;
    	tr=document.getElementById(id).parentNode.id;
    	value=selectElmt.id	;
     
    }
     function del (id) {
     
     	//Cette fonction permet de supprimer le tr que l'on à double cliqué car les infos sont stockés dans les varaibles de "recup"
    	document.getElementById(tr).parentNode.removeChild(document.getElementById(tr));
    }
     
     
     
        function depose(id){
        	if(test==1)
        	{
     
        	}
        	else
        	{
    //Cette fonction recrée le <tr><td> que l'on à récupérer la ou l'on double clique une seconde fois.
     
    		var a=text;
    		var b=value;
    		var c=tr;
     
     
    		document.getElementById(id).parentNode.parentNode.parentNode.innerHTML += '<tr id='+c+'><td id='+ b +'  ondblclick="choix('+b+');">'+a+'</td></tr>';
    		id=""	
    		value="";
        	text="";
        	tr="";	
    			test=1;		
    			}										
    	   }    
    function choix(id){
    //Cette fonction fait office d’aiguillage pour faire les deux double clique différent
    	if(test==1 )
    	{
    		recup(id);
    		del(id);
    		test=0	;
    	}
    	else
    	{		
    		depose(id);
     
    		value="";
    		text="";
    		tr="";
    	}
    }
     
    	</script>
    	</head>
     
    	<body >
     
     
    <table border="1" width="50" height="50" id="tb1"> 
        <tr>
        	<td id="B1" ondblclick="depose(id)">
        		Base1
        	</td>
        </tr>
    	<tr id="tr1"> 
    		<td id="1" ondblclick="choix(id)">
    			a
    		</td>
    	</tr> 
    	<tr id="tr2"> 
    		<td id="2" ondblclick="choix(id)">
    			b
    		</td>
    	</tr>
    	<tr id="tr3"> 
    		<td id="3" ondblclick="choix(id)">
    			c
    		</td>
    	</tr>
    </table>
     
       <br/>
       <br/>
     
    <table border="1" width="50" height="50" id="tb2" > 
     	<tr>
        	<td id="B2" ondblclick="depose(id)">
        		Base2
        	</td>
        </tr>
    	<tr id="tr4"> 
    		<td id="4" ondblclick="choix(id)">
    			d
    		</td>
    	</tr> 
    	<tr id="tr5"> 
    		<td id="5" ondblclick="choix(id)">
    			e
    		</td>
    	</tr
     
    </table> 
     
     
    	</body>
    </html>

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Déplacement entre onglets
    Par L'Oracle dans le forum Access
    Réponses: 9
    Dernier message: 11/04/2006, 09h51
  2. Déplacement entre onglet ???
    Par L'Oracle dans le forum Access
    Réponses: 4
    Dernier message: 07/04/2006, 15h30
  3. FORMS 6i - Déplacement entre blocs -
    Par safou dans le forum Forms
    Réponses: 10
    Dernier message: 25/10/2005, 15h40
  4. déplacement entre enregistrement
    Par xycoco dans le forum Access
    Réponses: 4
    Dernier message: 25/10/2004, 19h29
  5. problème déplacement entre formulaire
    Par estancha dans le forum IHM
    Réponses: 6
    Dernier message: 07/10/2004, 15h22

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo