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

HTML Discussion :

Comment afficher entièrement le nom d'un fichier avec input type file


Sujet :

HTML

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Février 2011
    Messages
    253
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2011
    Messages : 253
    Points : 56
    Points
    56
    Par défaut Comment afficher entièrement le nom d'un fichier avec input type file
    Bonjour,

    Comment se fait-il que le nom du fichier charger par
    ne s'affiche pas entièrement ?? Comment résoudre ce problème très genant.

    pour exemple: bouton(choisissez un fichier), nom du fichier(test_doc...pdf)
    au lieu de (test_document_partie1.pdf)

    information: il y a assez de place pour afficher le nom complet du fichier, j'ai essayé d'agrandir la taille de l'input type file avec "size" mais ça n'a aucun effet.

    QQun a une idée ??

  2. #2
    Expert confirmé
    Avatar de RomainVALERI
    Homme Profil pro
    POOête
    Inscrit en
    Avril 2008
    Messages
    2 652
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : POOête

    Informations forums :
    Inscription : Avril 2008
    Messages : 2 652
    Points : 4 164
    Points
    4 164
    Par défaut
    je dirais size :
    Code html : Sélectionner tout - Visualiser dans une fenêtre à part
    <input type="file" size="200"></input>
    (200 par exemple, mais à adapter bien sûr ^^ c'est en pixels)

    ...pour les linguistes et les curieux >>> générateur de phrases aléatoires

    __________________

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Février 2011
    Messages
    253
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2011
    Messages : 253
    Points : 56
    Points
    56
    Par défaut
    merci pour votre réponse, seulement j'ai déjà utiliser le size et ça n'a absolument aucun effet
    Une autre idée ??

    Je suis tout de même étonné que personne n'ai parlé du problème auparavant, j'ai beau cherché partout sur la toile et je ne trouve aucun sujet traitant de ce problème (sauf si je pose mal ma question a google).

  4. #4
    Modérateur
    Avatar de Bisûnûrs
    Profil pro
    Développeur Web
    Inscrit en
    Janvier 2004
    Messages
    9 868
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Janvier 2004
    Messages : 9 868
    Points : 16 258
    Points
    16 258
    Par défaut
    Parce que ça dépend du navigateur. Parce que tous les navigateurs ne gèrent pas de la même manière. Parce que tu testes sur Chrome. Parce que c'est un comportement qu'on ne peut pas modifier.

  5. #5
    Rédacteur

    Avatar de Bovino
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2008
    Messages
    23 647
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2008
    Messages : 23 647
    Points : 91 220
    Points
    91 220
    Billets dans le blog
    20
    Par défaut
    A mon sens, la première question à se poser est
    Comment résoudre ce problème très genant.
    en quoi est-ce très gênant ?

    Le seul intérêt du contenu d'un input file est coté serveur. Au niveau navigateur (et particulièrement vu sous l'angle HTML) la valeur d'un champ file n'a absolument aucune utilité...
    Pas de question technique par MP !
    Tout le monde peut participer à developpez.com, vous avez une idée, contactez-moi !
    Mes formations video2brain : La formation complète sur JavaScriptJavaScript et le DOM par la pratiquePHP 5 et MySQL : les fondamentaux
    Mon livre sur jQuery
    Module Firefox / Chrome d'intégration de JSFiddle et CodePen sur le forum

  6. #6
    Modérateur

    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    12 552
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 12 552
    Points : 21 608
    Points
    21 608
    Par défaut
    À la limite c'est sympa, si on a oublié quel fichier on a mis dedans, de pouvoir vérifier le nom en un coup d'œil avant d'envoyer.

    Mais enfin, 'faut quand même exagérer un brin pour dire que ne pas pouvoir le faire est très gênant. Si on a un doute il vaut mieux recliquer sur Parcourir.
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  7. #7
    Invité
    Invité(e)
    Par défaut
    Bonjour,
    1/ "très gênant" : pas tant que ca. Mais c'est vrai que sur Chrome et Safari, le nom s'affiche tronqué : nomd.....ier.jpg
    Ce n'est effectivement pas très malin de leur part et complètement inutile !
    Autant ne rien afficher du tout !

    2/ à voir ici :
    - l'explication de "C:\fakepath\"
    - un moyen d'afficher le nom du fichier
    For historical reasons, the value IDL attribute prefixes the filename with the string "C:\fakepath\". Some legacy user agents actually included the full path (which was a security vulnerability). As a result of this, obtaining the filename from the value IDL attribute in a backwards-compatible way is non-trivial. The following function extracts the filename in a suitably compatible manner:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    function extractFilename(path) {
      if (path.substr(0, 12) == "C:\\fakepath\\")
        return path.substr(12); // modern browser
      var x;
      x = path.lastIndexOf('/');
      if (x >= 0) // Unix-based path
        return path.substr(x+1);
      x = path.lastIndexOf('\\');
      if (x >= 0) // Windows-based path
        return path.substr(x+1);
      return path; // just the filename
    }
    This can be used as follows:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    <p><input type=file name=image onchange="updateFilename(this.value)"></p>
    <p>The name of the file you picked is: <span id="filename">(none)</span></p>
    <script>
     function updateFilename(path) {
       var name = extractFilename(path);
       document.getElementById('filename').textContent = name;
     }
    </script>
    Pour que ca marche aussi sur IE(8), il faut changer .textContent par .innerHTML
    Dernière modification par Invité ; 09/09/2011 à 00h01.

  8. #8
    Membre du Club
    Profil pro
    Inscrit en
    Février 2011
    Messages
    253
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2011
    Messages : 253
    Points : 56
    Points
    56
    Par défaut
    Merci beaucoup pour vos réponses et avis,

    en ce qui concerne le coté gênant, ce n'est pas pour moi c'est pour le client qui a besoin d'une administration et le client ne s'y connait pas du tout en internet, si il lui manque une partie d'un nom de fichier il pourrait penser indéfiniment que le fichier n'a pas été trouver comme il faut et recommencer.

    EN tout cas merci pour ce bout de code qui va sans doute changer la done.

  9. #9
    Expert confirmé
    Avatar de RomainVALERI
    Homme Profil pro
    POOête
    Inscrit en
    Avril 2008
    Messages
    2 652
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : POOête

    Informations forums :
    Inscription : Avril 2008
    Messages : 2 652
    Points : 4 164
    Points
    4 164
    Par défaut
    Citation Envoyé par artenis Voir le message
    en ce qui concerne le coté gênant, ce n'est pas pour moi c'est pour le client qui a besoin d'une administration et le client ne s'y connait pas du tout en internet, si il lui manque une partie d'un nom de fichier il pourrait penser indéfiniment que le fichier n'a pas été trouver comme il faut et recommencer.
    Effectivement, ces comportements peuvent se rencontrer.
    Mais il me semble qu'il faut tabler sur la progressive intégration de cet aspect par ses utilisateurs, qui de toutes façons seront confrontés à l'identique partout sur le web. Il faut bien qu'ils commencent à l'accepter quelque part. Sur ce site ou sur un autre ^^

    Comme d'habitude, au final sur le terrain, ceux qui savent expliqueront aux autres

    ...pour les linguistes et les curieux >>> générateur de phrases aléatoires

    __________________

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Chemin fichier balise input type file
    Par abcd23 dans le forum Balisage (X)HTML et validation W3C
    Réponses: 10
    Dernier message: 01/08/2012, 17h27
  2. Afficher une image d'apres un formulaire utilisant input type="file"
    Par kilian67 dans le forum Général JavaScript
    Réponses: 33
    Dernier message: 17/08/2008, 22h12
  3. [XSLT] comment afficher toutes les données d'un fichier xml ?
    Par bwwilly dans le forum XSL/XSLT/XPATH
    Réponses: 19
    Dernier message: 27/06/2007, 16h21
  4. Comment afficher dans une page html un fichier flash sans problème d'activeX
    Par Alexandrebox dans le forum Balisage (X)HTML et validation W3C
    Réponses: 2
    Dernier message: 09/05/2007, 17h39
  5. [XSLT] comment afficher tous les noms de balises
    Par stanilas dans le forum XSL/XSLT/XPATH
    Réponses: 1
    Dernier message: 12/11/2005, 22h24

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