Bug résolu. J'ai inclu la fonction et la variable dans ma fonction générale de façon à ce que ma variable soit actualisée. Elle était en fait chargée une seule fois.
function getContenu() {
switch (window.location.hash){
case "#terminaux":
return "terminal";
break;
case "#contacts":
return "contact";
break;
case "#constructeurs":
return "constructeur";
break;
default :
return "utilisateur";
};
};
$('.bouton_ajax').fancybox({
href: $(this).attr('href'),
type: 'ajax',
wrapCSS: 'fancybox-custom',
closeClick:false,
openEffect:'elastic',
openSpeed:200,
closeEffect:'elastic',
closeSpeed:200,
helpers:{
overlay:{
css:{'background-color':'#eee'}
}
},
beforeShow: function() {
$('#formulaire').on('submit', function() {
$.ajax({
url: $(this).attr('action'),
type: $(this).attr('method'),
data: $(this).serialize(),
dataType: 'json',
success: function(json) {
if(json.reponse == 'ajout ok') {
refresh_ajax();
var contenu = getContenu();
$.fancybox({
wrapCSS:'fancybox-custom',
closeClick:false,
closeBtn:false,
openEffect:'elastic',
openSpeed:200,
closeEffect:'elastic',
closeSpeed:200,
content:'<div style="height:50px;">Votre '+ contenu +' est ajouté</div>',
helpers:{overlay:{css:{'background-color':'#eee'}}}
});
/*setTimeout("$.fancybox.close()",2000);*/
} else if(json.reponse == 'modification ok'){
refresh_ajax();
var contenu = getContenu();
$.fancybox({
wrapCSS:'fancybox-custom',
closeClick:false,
closeBtn:false,
openEffect:'elastic',
openSpeed:200,
closeEffect:'elastic',
closeSpeed:200,
content:'<div style="height:50px;">Votre '+ contenu +' est modifié</div>',
helpers:{overlay:{css:{'background-color':'#eee'}}}
});
/*setTimeout("$.fancybox.close()",2000);*/
} else if(json.reponse == 'suppression ok'){
refresh_ajax();
var contenu = getContenu();
$.fancybox({
wrapCSS:'fancybox-custom',
closeClick:false,
closeBtn:false,
openEffect:'elastic',
openSpeed:200,
closeEffect:'elastic',
closeSpeed:200,
content:'<div style="height:50px;">Votre '+ contenu +' est supprimé</div>',
helpers:{overlay:{css:{'background-color':'#eee'}}}
});
/*setTimeout("$.fancybox.close()",2000);*/
} else {
alert('Erreur : '+ json.reponse);
}
}
});
return false;
});
}
});
Modifié par Klesk (14 Sep 2012 - 16:51)