Précédent   Forum des professionnels en informatique > Webmasters - Développement Web > JavaScript > Bibliothèques & Frameworks > jQuery
jQuery Forum d'entraide sur le framework jQuery. Avant de poster : Tutoriels jQuery, FAQ jQuery, Tous les tutoriels JavaScript, Toutes les FAQ JavaScript
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 04/02/2011, 09h16   #1
Invité régulier
 
Inscription : juin 2009
Messages : 57
Détails du profil
Informations forums :
Inscription : juin 2009
Messages : 57
Points : 9
Points : 9
Par défaut double appel à une fichier js => double execution des $.click()

Bonjour,

Je sais essayer d'expliquer mon problème le mieux possible :

avec des schémas l'explication sera plus facile ^^

index.... (jquery ajax ) ... => local.php ... 2 x ( jqueryFileTree ) ... => jqueryFileTree.php

Or ce jqueryFileTree.php fait appel à un fichier js. ci dessous :
Code :
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
$(document).ready( function() {
 
$('.supprimer').hide();
$('.enregistrer').hide();
$('.modifier').hide();
 
$('*.file').hover(function() {
           $('.supprimer').show();
            $('.enregistrer').show();
            $('.modifier').show();
        },
       function(){
   $('.supprimer').hide();
   $('.enregistrer').hide();
   $('.modifier').hide();
 
});
 
$('.enregistrer').bind("click",function(){
    var  fichier = $(this).attr('rel');
    alert(fichier);
    //enregistrerFile(fichier);
 
});
 
$('.modifier').click(function(e) {
     fichier = $(this).attr('rel');
     modifierFile(fichier);
    return false;
});
 
 
$('.supprimer').click(function() {
    fichier = $(this).attr('rel');
    if (confirm('Etes-vous sur de supprimer le fichier '+ fichier + '?')) {
 
         lien= document.location.href;
         page=document.location.href.split("#");
         page = page[1];
 
         adresse = "delete.php?fichier=" + fichier +"&lien=" + lien;
         //location=adresse;
 
        //var fso=new ActiveXObject("Scripting.FileSystemObject");
       // var ts=fso.DeleteFile("nom du fichier");
     $.ajax({  // ajax
        url: adresse, // url de la page � charger
        cache: false, // pas de mise en cache
        success:function(html){ // si la requêté est un succès
         //   afficher(html,'#upload');	    // on execute la fonction afficher(donnees)
            window.location.reload();
        },
        error:function(XMLHttpRequest, textStatus, errorThrows){ // erreur durant la requete
        }
    });
 
    return false;
 
}
});
 
 
});
Etant donné qu'il est chargé 2 fois, ben quand je fais un clic sur enregistrer sur une des 2 zone contenant jqueryFileTree.php, j'ai l'alerte en double. Sur la 2ème zone tout se déroule normalement.


code de local.php

Code :
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
 
<script  type="text/javascript">
$(document).ready( function() {
 
$('#fileTreeDemo_1').fileTree({root: $('#fileTreeDemo_1').attr('titre')+'#'+ $('#fileTreeDemo_1').attr('class'), script: 'jqueryFileTree.php'}, function(file) {
    if($('#fileTreeDemo_1').attr('class')=="baie")
        {
          openFilebaie(file);
        }else
        {
          openFile(file);
        }
 
 
});
 
$('#fileTreeDemo_2').fileTree({root: $('#fileTreeDemo_2').attr('titre')+'#'+ $('#fileTreeDemo_2').attr('class'), script: 'jqueryFileTree.php'}, function(file) {
          openFile(file);
 
});
 
</});script>
 
<div class="document schema" title="./Documents/'.$_GET['zone'].'/'.$_GET['lieu'].'/'.$_GET['batiment'].'/'.$_GET['local'].'/">
    <div class="titre_doc" >
                <h2>Schema des baies</h2>';
            if(isset($_SESSION['user'])){
                    echo'
 
                <span class="upload">
                    <a href="#upload.php~rep=./Documents/'.$_GET['zone'].'/'.$_GET['lieu'].'/'.$_GET['batiment'].'/'.$_GET['local'].'/">
                        <img src="Images/upload.png" width="16" height="16" alt="plus_upload"/>
                    </a>
                </span>';
                }
echo'
                <span class="afficher">
                    <a href="#">
                        <img src="Images/plus_upload.jpeg" width="16" height="16" alt="plus_upload"/>
                    </a>
                </span>
    </div>
 
    <div class="liste" >
        <div id="fileTreeDemo_1" class="baie" titre="Documents/'.$_GET['zone'].'/'.$_GET['lieu'].'/'.$_GET['batiment'].'/'.$_GET['local'].'/">
                <ul class="jqueryFileTree" style="">
                    <li class="directory collapsed">
                        <a href="#" rel="Forlder">documents</a>
                    </li>
                    <li class="directory collapsed">
                        <a href="#" rel="fichier">images</a>
                    </li>
                </ul>
        </div>
    </div>
 
    <iframe name="laFrame" class="visionneuse">
    </iframe>
 
</div>
<hr/>
 
 
<div class="document photos">
    <div class="titre_doc" >
                <h2>Liste des photos du local '.$_GET['local'].'</h2>';
            if(isset($_SESSION['user'])){
                    echo'
 
                <span class="upload">
                    <a href="#upload.php~rep=./Documents/'.$_GET['zone'].'/'.$_GET['lieu'].'/'.$_GET['batiment'].'/'.$_GET['local'].'/photos/">
                        <img src="Images/upload.png" width="16" height="16" alt="plus_upload"/>
                    </a>
                </span>';
                }
echo'
                <span class="afficher">
                    <a href="#">
                        <img src="Images/plus_upload.jpeg" width="16" height="16" alt="plus_upload"/>
                    </a>
                </span>
    </div>
   <div class="liste" >
        <div id="fileTreeDemo_2" class="photo" titre="./Documents/'.$_GET['zone'].'/'.$_GET['lieu'].'/'.$_GET['batiment'].'/'.$_GET['local'].'/photos/">
                    <ul class="jqueryFileTree" style="">
 
                    </ul>
            </div>
     </div>
</div>
';

code de jqueryFileTree.php

Code :
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
<?php
echo '<script  src="js/listelocaux.js" type="text/javascript"></script>';

$_POST['dir'] = urldecode($_POST['dir']);


$chaine = explode('#', trim($_POST['dir']));
$_POST['dir'] = $chaine[0];
echo"";// si le répertoire n'existe pas il sera creer
if( !file_exists($root . $_POST['dir']) ) {

    mkdir($_POST['dir'],0777,TRUE);

}


	$files = scandir($root . $_POST['dir']);
	natcasesort($files);
	if( count($files) > 2 ) { /* The 2 accounts for . and .. */
            
		echo "<ul class=\"jqueryFileTree\" style=\"display: none;\">";

                // on ne souhaite pas lister les repertoires si on est dans une zone
               foreach( $files as $file ) {
			if( file_exists($root . $_POST['dir'] . $file) && $file != '.' && $file != '..' && $file != 'Thumbs.db' && !is_dir($root . $_POST['dir'] . $file) )
                        {
				$ext = preg_replace('/^.*\./', '', $file);
				echo "
                                <li class=\"file ext_$ext\">
                                    <span class=\"nomfichier\">
                                        <a href=\"#\" rel=\"" . htmlentities($_POST['dir'] . $file) . "\">" . htmlentities($file) . "</a>
                                    </span>
                                    <span class=\"date\">".date ("d/m/Y H:i:s.", filemtime($_POST['dir'] . $file)). "
                                    </span>
                                    <span  class=\"enregistrer\" rel=\"" . htmlentities($_POST['dir'] . $file) . "\">enregistrer
                                    </span>
                                    <span  class=\"modifier\" rel=\"\\\\x.x.x.x\\" . htmlentities($_POST['dir'] . $file) . "\">modifier
                                    </span>
                                    <span  class=\"supprimer\" rel=\"" . htmlentities($_POST['dir'] . $file) . "\">supprimer
                                    </span>                                </li>" ;
                                

                        }
		}
                }
		echo "</ul>";	
	}
?>
Merci à vous,

Je pensais mettre une condition si déjà chargé ne pas rechargé le jquery, est ce possible?
colas31 est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 08h12.


 
 
 
 
Partenaires

Hébergement Web