IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Mise en page CSS Discussion :

champ input vide


Sujet :

CSS

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Inscrit en
    Avril 2002
    Messages
    643
    Détails du profil
    Informations forums :
    Inscription : Avril 2002
    Messages : 643
    Par défaut champ input vide
    salut
    je cherche à crée un champ "input"(pour des Upload de fichier) , de façon que l'utilisateur peut appeler la fenêtre de parcoure de fichier en cliquant n'import ou dans le champs "input".
    sa marche mais à un détail prêt et que le fichier choisit pour le Upload ne s'affiche pas sur le champ "Input" ( le champ input est toujours vide)?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
     
     
    <div id="uploadBrowse1" class="uploadBrowse">
                                  <div class="fileBox">
     
                                    <div class="fileinputs">
                                     <input id="uploadFiles1" name="files" type="file" size="28" class="file hidden" >
                                       <div class="fakefile">
                                       <input readonly="" type="text">
     
                                       </div>
                                    </div>
                                   <a href="" class="btnBrowse">Browse...</a>
                                  </div>
     
                            </div>


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    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
     
    .fileBox{
    	 float:left; 
    	 width:608px; 
    	 overflow:hidden;
    	}
     
     
     .uploadBrowse{
    	 position:relative; 
    	 z-index:0; 
    	 float:left; 
    	 width:100%
    	}
     
     
    .btnBrowse{
    float:left; 
    font-size:12px; 
    font-weight:bold;
    background: -webkit-gradient(linear, 0 0, 0 bottom, from(#fdfefe), to(#dee9f0));
    background: -moz-linear-gradient(#fdfefe, #dee9f0);background: linear-gradient(#fdfefe, #dee9f0);
    -pie-background: linear-gradient(#fdfefe, #dee9f0); border: 1px solid #6c7c89;
     -webkit-border-radius: 5px; -moz-border-radius: 5px;padding:4px 10px; margin-left:3px; color:#000}
     
     .fileinputs{position:relative;}
     
     .file {
    	 position: absolute;
    	 top:0px; right:0; 
    	 font-size:30px; 
    	 width: 700px;
    	 opacity: 0; 
    	 -moz-opacity: 0; 
    	 filter:progid:DXImageTransform.Microsoft.Alpha(opacity=0); 
    	 z-index:999; 
    	 cursor: pointer;
     
    	}
     
     
    .fakefile input {
    float: left;
    font-size: 11px;
    color: black;
    padding: 3px 10px;
    width: 500px;
    border: 1px solid #D1D1D1;
    }

  2. #2
    Invité
    Invité(e)
    Par défaut
    Bonjour,
    l'idée est intéressante...

    En simplifiant le code, et avec un peu de jQuery pour remplir le "faux input" :
    (javascript suffirait, mais l'écriture est bien plus simple en jQuery !)

    Code css : Sélectionner tout - Visualiser dans une fenêtre à part
    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
    <style type="text/css">
    .fileBox{
    	z-index:0; 
    	position:relative;
    	width:500px; 
    	overflow:hidden;
    }
    .hiddenfile {
    	position: absolute;
    	top:0; left:0; 
    	width:500px; 
    	height:30px;
    	font-size: 1.0em;
    	opacity: 0; -moz-opacity: 0; filter:progid:DXImageTransform.Microsoft.Alpha(opacity=0); 
    	z-index:999; 
    	cursor: pointer;
    }
    input.fakefile {
    	float: left;
    	font-size: 1.0em;
    	color: black;
    	padding: 3px 10px;
    	width: 363px;
    	border: 1px solid #D1D1D1;
    }
    span.btnBrowse {
    	float:left; 
    	width: 90px;
    	font-size:1.0em; 
    	font-weight:bold;
    	background: -webkit-gradient(linear, 0 0, 0 bottom, from(#fdfefe), to(#dee9f0));
    	background: -moz-linear-gradient(#fdfefe, #dee9f0);background: linear-gradient(#fdfefe, #dee9f0);
    	-pie-background: linear-gradient(#fdfefe, #dee9f0); border: 1px solid #6c7c89;
    	-webkit-border-radius: 5px; -moz-border-radius: 5px;
    	padding:4px 10px; 
    	margin-left:3px; 
    	color:#000
    }
    </style>
    Code javascript : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    <script src="http://code.jquery.com/jquery-1.7.1.min.js"></script>
    <script type="text/javascript">
    $(function() {
    	$('.hiddenfile').change(function() {
    		var valeur = $(this).val();
    		valeur = valeur.replace(/[A-Z]:\\fakepath\\/,''); // sous IE, Safari,... : supprime le "faux chemin" (C:\fakepath\nom-du-fichier)
    		$(this).next('.fakefile').val(valeur); // on remplit le "faux input" avec la valeur (= nom) du fichier choisi
    	});
    });
    </script>

    Code html : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    <div class="fileBox">
    	<input class="hiddenfile" name="file1" type="file" size="53" />
    	<input class="fakefile" readonly="readonly" type="text" />
    	<span class="btnBrowse">Fichier 1...</span>
    </div>
    <div class="fileBox">
    	<input class="hiddenfile" name="file2" type="file" size="53" />
    	<input class="fakefile" readonly="readonly" type="text" />
    	<span class="btnBrowse">Fichier 2...</span>
    </div>
    Ca fonctionne aussi avec plusieurs fichiers à uploader...
    Dernière modification par Invité ; 08/02/2012 à 19h46.

Discussions similaires

  1. Réponses: 0
    Dernier message: 25/02/2013, 17h09
  2. Réponses: 2
    Dernier message: 20/05/2011, 11h33
  3. Vérifier si un champ input est vide
    Par almoha dans le forum Langage
    Réponses: 2
    Dernier message: 12/02/2011, 11h13
  4. Problème de contrôle de champ input texte
    Par NATHW dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 08/10/2004, 23h48
  5. [CR9] Bug avec les champs à valeur vide ?
    Par Djob dans le forum SAP Crystal Reports
    Réponses: 3
    Dernier message: 15/07/2003, 22h21

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo