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 :

InnerHTML


Sujet :

JavaScript

  1. #1
    Membre éclairé Avatar de Poussy-Puce
    Profil pro
    Développeur Web
    Inscrit en
    Octobre 2005
    Messages
    357
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Octobre 2005
    Messages : 357
    Par défaut InnerHTML
    Bonjour j'ai un problème avec un innerHTML dans un formulaire.

    Je vais commencer par vous montrer mon code:

    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
    function RegExpInteger(valeur,longueur,nomLabelData,divId)
    {
    	var strRetour = ''
    	var expressionReguliere = new RegExp("^(([0-9]{0," + longueur + "})|()|([ ]*))*$")
    	if (!expressionReguliere.test(valeur))
    		{
    		document.getElementById(divId).innerHTML = "<font color='Red'><b>" + nomLabelData + " doit être un nombre entier de maximum " + longueur + " caractère(s)</b></font>"; 
    		strRetour = '1'
    		}
    	else 
    		 document.getElementById(divId).innerHTML = '';
     
     
    	return strRetour
    }

    Bon voici, cette fonction fait une validation d'une String de longueur x dans un formulaire. Mon problème c'est que en affectant une chaîne vide dans mon innerHTML, je vois comme une <br> dans mon formulaire et j'aimerais ne pas voir cette espace vide, qui esthétiquement parlant n'est pas très beau!!!

    Je sais très bien que si je ne met pas le else, j'affecterai rien à ma balise <div>, donc pas d'espace blanc. Le problème est que lorsque l'utilisateur à corriger la faute qu'il à fait dans le formulaire, je veux réinitialiser mon <div> à rien, c'est d'ailleur pour cela que j'utilise le else.

    Donc si y'a quelque qui c'est comment faire le contraire d'un innerHTML, votre aide sera la bienvenue...

    Merci d'avance


  2. #2
    Membre éclairé Avatar de danyboy85
    Homme Profil pro
    Développeur Java
    Inscrit en
    Décembre 2005
    Messages
    548
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur Java

    Informations forums :
    Inscription : Décembre 2005
    Messages : 548
    Par défaut
    essaye ca on sait jamais :


  3. #3
    Candidat au Club
    Profil pro
    Inscrit en
    Février 2006
    Messages
    4
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 4
    Par défaut
    Bonjour,
    Normalement ça devrait fonctionner!
    N'y aurait-il pas une erreur dans ton code ? en effet la structure if/else se développe généralement comme suit (ou à peu près selon les habitudes)
    if (condition) {
    ...
    } else {
    ...
    }

    Dans ton cas il manque les parenthèses du bloc else !!!

    Cordialement
    devSet

    ---------------------------
    Vivre pour créer - StartEdit.com

  4. #4
    Expert confirmé

    Avatar de denisC
    Profil pro
    Développeur Java
    Inscrit en
    Février 2005
    Messages
    4 050
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : Service public

    Informations forums :
    Inscription : Février 2005
    Messages : 4 050
    Par défaut Re: InnerHTML
    Citation Envoyé par Poussy-Puce
    Bon voici, cette fonction fait une validation d'une String de longueur x dans un formulaire. Mon problème c'est que en affectant une chaîne vide dans mon innerHTML, je vois comme une <br> dans mon formulaire et j'aimerais ne pas voir cette espace vide, qui esthétiquement parlant n'est pas très beau!!!
    Par un défaut, un div est suivi d'un saut de ligne. C'est ça que tu vois, et ça ne dépends pas du contenu du div (même si il est vide).

    La solution la plus simple pour toi est de cacher le div quqnd tu ne veux pas le voir, et le montrer quand tu veux:
    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
     
    function RegExpInteger(valeur,longueur,nomLabelData,divId) 
    { 
       var strRetour = '' 
       var expressionReguliere = new RegExp("^(([0-9]{0," + longueur + "})|()|([ ]*))*$") 
       if (!expressionReguliere.test(valeur)) 
          { 
          document.getElementById(divId).innerHTML = "<font color='Red'><b>" + nomLabelData + " doit être un nombre entier de maximum " + longueur + " caractère(s)</b></font>"; 
          document.getElementById(divId).style.display='block'
          strRetour = '1' 
          } 
       else 
           document.getElementById(divId).style.display='none'
     
     
       return strRetour 
    }
    Et dans ce cas, plus du retour à la ligne quand tu n'as plus de message.

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

Discussions similaires

  1. modifier le contenu d'une table avec innerHTML
    Par francon81 dans le forum Général JavaScript
    Réponses: 8
    Dernier message: 31/05/2005, 09h02
  2. Problème avec InnerHTML
    Par rat dgout dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 19/04/2005, 10h02
  3. div et innerHTML : tout sur une ligne?
    Par LineLe dans le forum Général JavaScript
    Réponses: 6
    Dernier message: 04/04/2005, 11h15
  4. Problème innerHTML sur div !!!
    Par aburner dans le forum Général JavaScript
    Réponses: 5
    Dernier message: 27/01/2005, 09h23
  5. getelementbyid innerhtml sur Opera?
    Par cynthia dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 31/12/2004, 10h44

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