Langue
Carte des utilisateurs
🎨 Skin viewer
Anniversaire
Aucun anniversaire à venir
Galeries Photo
Petites Annonces
Les plus téléchargés
- 1 npds_galerie589
- 2 npds_agenda559
- 3 86-Car517
- 4 npds_annonces 513
- 5 Programmes de Technologie 1985 MEN ...507
- 6 photosize502
- 7 npds_glossaire478
- 8 npds_encapsuleur473
- 9 bootstrap.png412
- 10 superhero384
Index du forum »» npds_galerie »» [Résolu] - input type file prototype
[Résolu] - input type file prototype#1107
dans
https://labo.infocapagde.com/modules.php?ModPath=npds_galerie&ModStart=gal&op=formimgs
j'ai fini par implémenté les input file customisé de BS
(pour info les input de type file sont les plus dur à customiser du fait de leur complexité (sécurité, info native du navigateur etc) .... et donc pour arriver à ça il faut la css complexe de BS + plus une petite touche de js car tout ne peut pas être implémenté par les css ...
merci de tester sur tous les navigateurs (sur le labo et sous le theme npds_boost)
dites moi ce que vous en pensez car je vais probablement les généraliser à l'ensemble du portail si ça ne présente pas de problème
Note sur le process :
le form doit avoir un attribut lang
l'input utilise la class spécifique bs
traduction des occurances dans la css
et ce bout de js
qui sert a réinitialisé l'input
j'ai fini par implémenté les input file customisé de BS
(pour info les input de type file sont les plus dur à customiser du fait de leur complexité (sécurité, info native du navigateur etc) .... et donc pour arriver à ça il faut la css complexe de BS + plus une petite touche de js car tout ne peut pas être implémenté par les css ...
merci de tester sur tous les navigateurs (sur le labo et sous le theme npds_boost)
dites moi ce que vous en pensez car je vais probablement les généraliser à l'ensemble du portail si ça ne présente pas de problème
Note sur le process :
le form doit avoir un attribut lang
lang="'.language_iso(1,'','').'"
l'input utilise la class spécifique bs
class="custom-file-input"
traduction des occurances dans la css
.custom-file-input:lang(fr) ~ .custom-file-label::after {
content: "Choisir ..."
}
.custom-file-input:lang(es) ~ .custom-file-label::after {
content: "Elegir ..."
}
.custom-file-input:lang(de) ~ .custom-file-label::after {
content: "Wählen ..."
}
.custom-file-input:lang(en) ~ .custom-file-label::after {
content: "Browse ..."
}
.custom-file-input:lang(zh) ~ .custom-file-label::after {
content: "选择 ..."
}
et ce bout de js
qui sert a réinitialisé l'input
<script type="text/!javascript!">
//<![CDATA[
$(".custom-file-input").on("change",function(){
$(this).next(".custom-file-label").addClass("selected").html($(this).val().split(\'\\\\\').pop());
});
window.reset2 = function (e,f) {
e.wrap("<form>").closest("form").get(0).reset();
e.unwrap();
event.preventDefault();
$("#lab"+f).html("'.gal_translate("Sélectionner votre image").'")
};
//]]>
</script> L'eau goutte à goutte finit toujours par percer la pierre...


