Agenda

Avril
2024

L M M J V S D
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
Jour avec événement(s)
Jour férié
MER
MER
Carte des utilisateurs
Login
 Connexion
Glossaire
icon_npds_glossaire

A | B | C | D | E | F | G | H | I | J | K | L | M | N | O | P | Q | R | S | T | U | V | W | X | Y | Z | Autres

En ligne

Il y a actuellement 92 visiteur(s) et 0 membre(s) en ligne.

Devenez membre privilégié en cliquant ici

Chat anonyme -1
sondage 2
Test sondage
Résultats  Anciens sondages
  • Votes : 1321
  • Commentaire(s) : 5
Galeries Photo
Activité du Site

Pages vues depuis 20/04/2015 : 23 810 416

  • Nb. de membres 44
  • Nb. d'articles 4
  • Nb. de forums 50
  • Nb. de sujets 9
  • Nb. de critiques 2

Top 10  Statistiques

Github jpb
Bloc 2 affichant une galerie

Index du forum »»  npds_galerie »» [Résolu] - input type file prototype

[Résolu] - input type file prototype#1107

1Contributeur(s)
jpb
1 Modérateur(s)
jpb
jpb jpbicon_post
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
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").'")
};
//]]>
&lt;/script>
L'eau goutte à  goutte finit toujours par percer la pierre...