Faire un input type="files" esthetiquement beau

Résolu/Fermé
Messages postés
10
Date d'inscription
vendredi 18 décembre 2020
Statut
Membre
Dernière intervention
30 décembre 2020
-
Messages postés
34738
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
28 janvier 2022
-
Bonjour, j'ai un petit problème j'essaye de faire un input type files mais sans avoir un submit
Je l'explique j'ai un script en js qui permet d'envoye le form automatiquement quand le form et complet

Code

//html
<form name="myform" action="" method="POST" enctype="multipart/form-data">
                                                    <div class="form-group">
                                                        <label> documents justificatifs :</label>
                                                        <input class="form-control" onchange="this.form.submit();" type="file"  name="files" id="fichier" size="30" accept="image/png, image/jpg, image/jpeg, application/pdf">
                                                    </div>
                                                </form>

Ce qui donne ::


Mais ce que j'aimerai fait c'est remplacer l'emplacement input type="files" par un icon
Exemple :


Quand je clique sur l'icon + le rechercheur de files s'ouvre et que quand je selectionne mon doc et que je valide, le form s'envoye automatiquement.

1 réponse

Messages postés
34738
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
28 janvier 2022
4 007
Bonjour,

Une rapide recherche sur le net, ou même ici, t'aurai permis de trouver des discussions traitant de cela.
Pour ce qui est de remplacer le champ input file par une image, par exemple
https://forums.commentcamarche.net/forum/affich-36979883-mettre-la-fonction-upload-sur-l-icone#8

Pour ce qui est du submit (ce qui implique un rechargement de la page) là aussi, des discussions, exemples, tutos .. foisonnent sur le net...
https://www.google.com/search?q=javascript+submit+form

Mais si tu veux éviter de recharger la page via un submit, je t'invite à regarder du côté de l'ajax
https://www.google.com/search?q=upload+file+ajax
Messages postés
10
Date d'inscription
vendredi 18 décembre 2020
Statut
Membre
Dernière intervention
30 décembre 2020

Merci justement j'ai regarder sur internet mais comme je ne suis pas très fort en anglais et que la plupart des tutos sont en anglais je galere

j'ai tester le code que vous avez envoye a l'autre personne mais moi j'ai a la place un label et non une image c'est un icons issue de livicon https://livicons.com/

code


<body>
    <style>
    .image-upload > input {
        display: none;
    }

    .image-upload img {
        width: 80px;
        cursor: pointer;
    }
    </style>


    <form action="" name="test" method="post" enctype="multipart/form-data">
      <div class="image-upload">
          <label for="file-input">
              <label class="livicon-evo" data-options=" name: morph-eye-open-close.svg; size: 25px "></label>
          </label>

          <input id="file-input" name="monfichier" type="file"/>
      </div>
      <input type="submit" name="go" value="go">
    </form>
</body>

Messages postés
34738
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
28 janvier 2022
4 007 >
Messages postés
10
Date d'inscription
vendredi 18 décembre 2020
Statut
Membre
Dernière intervention
30 décembre 2020

Tu dois pouvoir faire un truc du genre
<form action="" name="test" method="post" enctype="multipart/form-data">
      <div class="image-upload">
          <label for="file-input" class="livicon-evo" data-options=" name: morph-eye-open-close.svg; size: 25px ">
          <input id="file-input" name="monfichier" type="file"/>
      </div>
      <input type="submit" name="go" value="go">
    </form>