Archives de Catégorie: Tips

CFWindow + DatePicker + IE …

Salut,
Je viens de tomber sur un petit problème et comme d’habitude je partage mon problème ainsi que la solution que j’ai trouvé.

L’origine de mon problème est la suivante:
Je créé une fenêtre avec cfwindow et à l’intérieur de celle-ci ce trouve plusieurs control dont certains
doivent recevoir

setTimeout(function(){
$(« #startDate »).datepicker({ dateFormat: « yy-mm-dd » });
},500);

On peut voir ici que pour aciver le datepicker j’ai du faire appel à la fonction javascript: setTimeout. la raison est simple l’appel à cette page via CFWindow est un appel ajax donc asynchrone, et pour être sur que le control soit bien de type datepicker.

Si je laisse comme ça le calendrier apparaitra derrière le fenêtre CFWindow donc j’ai ajouté ceci avant l’HTML

<style>
div.ui-datepicker {
z-index: 9999 !important;
}
</style>

Houra!!!!! Ca fonctionne avec Firefox mais pas avec IE (je ne le considère pas comme un browser).

Que faire …

He bien grace au site css-tricks j’ai trouvé la solution.

il faut ajouter ce code dans le setTimeout après la création du datepicker.
$(function() {
var zIndexNumber = 1000;
// Put your target element(s) in the selector below!
$(« div »).each(function() {
$(this).css(‘zIndex’, zIndexNumber);
zIndexNumber += 1;
});

La version du code complet avec le style et le JQuery qui va avec

<style>
div.ui-datepicker {
z-index: 9999 !important;
}
</style>

setTimeout(function(){
$(« #startDate »).datepicker({ dateFormat: « yy-mm-dd » });
$(function() {
var zIndexNumber = 1000;
// Put your target element(s) in the selector below!
$(« div »).each(function() {
$(this).css(‘zIndex’, zIndexNumber);
zIndexNumber += 1;
});
},500);

Référence
http://css-tricks.com/snippets/jquery/fixing-ie-z-index/ il propose des solutions sur les CSS.

cffile copy au lieu de rename

Récemment j’ai dû faire du renommage en masse de fichier et parce que les fichiers contenaient des espaces je ne pouvais pas les renommer ne sais quelle raison l’action « rename » ne fonctionnait pas. Ennuyant, n’est-ce pas ?

Qu’à cela ne tienne l’option copy est une bonne solution. Je m’explique.
Quand vous copiez un fichier vous avez l’attribut source et destination, dans la source vous mettez l’adresse, sur votre disque, du fichier source et dans destination vous mettez le repertoire cible. Le petit truc pour que cela fonctionne c’est de mettre le nouveau nom du fichier à la fin du repertoire cible.


<cfset name="test 123.pdf">

<cfset newName="test_123.pdf">

<cffile action="copy" source="c:\temp\#name#" destination="c:\temp\#newName#">

<cffile action="delete" file="c:\temp\#name#">

Après on n’oublie pas d’effacer le fichier source.

Voila j’espère que ce petit truc vous aura aidé.

%d blogueurs aiment cette page :