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?