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

JavaScript Discussion :

Champ formulaire qui s'allonge lors d'un clic


Sujet :

JavaScript

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Juillet 2010
    Messages
    62
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2010
    Messages : 62
    Points : 42
    Points
    42
    Par défaut Champ formulaire qui s'allonge lors d'un clic
    Bonjour,

    j'ai actuellement un champ qui est a 20 caractères et je voudrais que si on clique dessus le champ s'allonge si le texte est plus long que la taille de 20 initiale et que celui ci s'arrete de s'agrandir si il atteint son maxlength de 80 caractères. Connaissez vous un petit scripts php qui va dans ce sens ?

    voici le champ :

    Code html : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    <table bgcolor="#000" width="19" border="1" cellspacing="0" cellpadding="0">
      <tr>
        <td><input name="champ" type="text" id="champ" value="lllllllllllllll" size="20" maxlength="80"></td>
      </tr>
    </table>

    Merci a vous

  2. #2
    Inactif  
    Homme Profil pro
    Inscrit en
    Janvier 2014
    Messages
    374
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations forums :
    Inscription : Janvier 2014
    Messages : 374
    Points : 479
    Points
    479
    Par défaut
    Bonjour.

    Si vous n'avez pas trouvé, testez cette 'minipage' avec votre navigateur favori : La taille du champ grandit au fur et à mesure de la saisie...
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    <html><head> 
         <script type="text/javascript">
         function modification(X)
              {
         if ( X.value.length > 8 ) X.setAttribute("size", X.value.length) ; 
              }          
         </script>
    </head><body onload="document.getElementById('texte').focus()"> 
         <FORM>
              <label>Entrez un texte (max: 20 caractères) :</label>
              <input id="texte" type="text" size="8" maxlength="20" onkeyup="modification(this)">
         </FORM>
    </body></html>
    Cordialement.

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Juillet 2010
    Messages
    62
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2010
    Messages : 62
    Points : 42
    Points
    42
    Par défaut merci
    Merci a toi mais avec ce script est il possible de revenir a la taille initiale (8 dans le code donne) lorsque que on est plus dans le champs ou autre par dans la page ?

    merci

  4. #4
    Inactif  
    Homme Profil pro
    Inscrit en
    Janvier 2014
    Messages
    374
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations forums :
    Inscription : Janvier 2014
    Messages : 374
    Points : 479
    Points
    479
    Par défaut
    Tel que c'est écrit, la taille du champ va s'adapter à la saisie (onkeyup gérant l'attribut "size" du champ).

    Si vous avez testé la page, vous avez pu constater que, quand vous raccourcissez votre saisie la taille du champ diminue également !

    Je ne comprends pas bien ce que vous voulez de plus ?

    Cdlt

  5. #5
    Membre du Club
    Profil pro
    Inscrit en
    Juillet 2010
    Messages
    62
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2010
    Messages : 62
    Points : 42
    Points
    42
    Par défaut
    oui actuellement le champ vide fait 8 en size lorsque il est vide , lorsque je le remplis le champs s'allonge comme prevu , mais je voudrais que meme si le texte est plus long et que le visiteur n'est plus sur le champ il retourne a sa taille initiale 8 en size et que si le visiteur reclique sur le champs il se rallonge jusq'au nombre de caracteres qui y'a dans le champs

    j'ai un exemple tout bete qui correspond a ce que je veux faire , lorsque que un fichier csv est ouvert dans openoffice feuille de calcul et que un champs est plus grand il est en taille normale et des que lorsque on clique dessus si le texte dans le champ est plus grand que la cellule s'agrandit et des lorsque que on clique autre part le champ reprend sa taille initiale

    je c'est pas si c'est très clair ...

  6. #6
    Inactif  
    Homme Profil pro
    Inscrit en
    Janvier 2014
    Messages
    374
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations forums :
    Inscription : Janvier 2014
    Messages : 374
    Points : 479
    Points
    479
    Par défaut
    Humm !
    Oui effectivement, dans votre exemple, vous autorisez jusque 80 caractères (cela peut d'ailleurs perturber l'affichage correct de votre page HTML).
    Je pense qu'il faut jouer avec l'évènement "onblur" : Quand l'utilisateur quitte le champ, JS réinitialise l'attribut "size".
    Mais cela je vous le laisse écrire.
    Bonne continuation

Discussions similaires

  1. [AC-2003] Probleme Formulaire qui ce ferme lors de clic
    Par scado dans le forum IHM
    Réponses: 1
    Dernier message: 21/01/2010, 17h02
  2. Réponses: 1
    Dernier message: 14/10/2009, 15h40
  3. Réponses: 5
    Dernier message: 23/01/2006, 12h31
  4. Formulaire qui contient tous les champs d'une table
    Par cakeby dans le forum Access
    Réponses: 2
    Dernier message: 09/01/2006, 09h22
  5. remplir un formulaire qui se met dans un champ hidden
    Par cecileb dans le forum Général JavaScript
    Réponses: 8
    Dernier message: 07/09/2005, 16h37

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