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 :

Afficher un texte à coté d'un champ


Sujet :

JavaScript

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    94
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2007
    Messages : 94
    Par défaut Afficher un texte à coté d'un champ
    Bonjour à tous,

    J'ai un formulaire pour lequel j'utilise un premier contrôle en javascript avant de vérifier les valeurs coté serveur.

    J'aimerai afficher les erreurs à coté des champs adéquates.

    J'ai pensé à mettre les erreurs dans un tableau, mais aprés je vois pas comment afficher les erreurs a coté du champ concerné.

  2. #2
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 659
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 75
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 659
    Billets dans le blog
    1
    Par défaut
    pour le positionnement regade plutot du coté de css et float ...
    Ma page Developpez - Mon Blog Developpez
    Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
    Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
    Votre post est résolu ? Alors n'oubliez pas le Tag

    Venez sur le Chat de Développez !

  3. #3
    Membre émérite Avatar de sebhm
    Homme Profil pro
    Développeur Web
    Inscrit en
    Avril 2004
    Messages
    1 090
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Landes (Aquitaine)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Avril 2004
    Messages : 1 090
    Par défaut
    Bonjour,

    tu pourrais par exemple avoir un DIV vide apres (ou à côté de) chaque champ de ton formulaire, dans lequel tu ecrirais un message via javascript si nécessaire.
    Le DIV se gere au depart avec CSS.
    L'affichage de l'erreur en javascript.

    regarde de ce coté.
    C'est un peu compliqué car utilisation de Jquery, mais c'est pour l'idée

  4. #4
    Membre confirmé
    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    94
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2007
    Messages : 94
    Par défaut
    J'ai essayé la solution du DIV en créant un paragraphe vide , placé juste à coté du champ concerné.
    Ensuite dans le javascript, je change le contenu du paragraphe ainsi :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    document.getElementById("divNom").innerHTML="Veuillez utiliser que des lettres dans votre nom (Minimum 2 caracteres)";
    Le problème c'est que le texte s'affiche juste au moment du clique et disparait après.

  5. #5
    Membre émérite Avatar de sebhm
    Homme Profil pro
    Développeur Web
    Inscrit en
    Avril 2004
    Messages
    1 090
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Landes (Aquitaine)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Avril 2004
    Messages : 1 090
    Par défaut
    Ta premiere solution :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    document.getElementById("divNom").firstChild.textContent="Veuillez  ...";
    était tout aussi interessante ...
    n'édite pas ton post pour proposer une nouvelle solution.

    de plus, textContent est DOM (mais y'a un bemol de Taille : IE et Opera ne semblent pas l'implémenter), innerHTML ne l'est pas (bien que ca marche sur tous les navigateurs) :
    innerHTML is not a part of the W3C DOM specification. However, it is supported by all major browsers.

    chez moi, ces solutions fonctionnent.
    Je pense que le fait que le texte disparaisse ne vient pas de ce bout de code.
    Montre nous le reste stp.

    Voila un petit test que j'ai fait et qui fonctionne :
    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
    <html>
    	<head><title>titre</title>
    		<style type="text/css">
    			<!--
    			-->
    		</style>
    		<script type="text/javascript">
    			<!--
    			function verif() {
    				document.getElementById("divNom").firstChild.nodeValue="bla bla bla";
    				return false;
    			}
    			-->
    		</script>
    	</head>
    	<body >
    		<form action="test.php" onsubmit="return verif();">
    			<input type="text" name="inputtest" id="inputtest" value="" />
    			<div id="divNom">&nbsp;</div>
     
    			<input type="submit" name="submit" id="submit" />
    		</form>
    	</body>
    </html>
    3eme possibilité : nodeValue
    Ne fonctionne que si getElementById("divNom").firstChild existe, donc il faut initialiser le contenu du DIV avec un espace insécable par exemple

  6. #6
    Membre confirmé
    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    94
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2007
    Messages : 94
    Par défaut
    C'est bizzare, j'ai fait à peu prés la meme chose que toi.
    je te met mon code html,javascript et CSS :

    html :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <label for="nom">Nom</label><input id="nom" type="text" name="nom" /><div id="divNom">Nom</div><br/>
    JavaScript:
    La partie conecernée
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    var formulaire = document.getElementById("formulaire");
     
    	//Nom
    	var regNom=new RegExp("^[a-zA-Z]{2,12}$","g");
    	var nom=document.getElementById("nom").value;
    	//document.getElementById('nom').innerHTML='un test';
    	if (!regNom.test(nom))
    	{
    			document.getElementById('divNom').firstChild.nodeValue = 'Veuillez utiliser que des lettres dans votre nom (Minimum 2 caracteres)';
     
     
    	}
    CSS :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    div#divNom
    {
    	position:absolute;
    	left:630px;
    	top:19px;
    	color:red;
    }
    La valeur du nodeValue est à null dans fireburg ... pourtant y a bien quelque chose dedans "Nom"

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

Discussions similaires

  1. Afficher un texte dans un champ de zone au passage de la souris
    Par beegees dans le forum Général JavaScript
    Réponses: 5
    Dernier message: 02/10/2008, 13h47
  2. Réponses: 7
    Dernier message: 12/10/2006, 08h44
  3. Afficher appostrophe dans un VALUE de champ texte
    Par nerick dans le forum Langage
    Réponses: 4
    Dernier message: 22/05/2006, 16h21
  4. Afficher un cadre(avec texte) à coté de la souris
    Par frechy dans le forum Général JavaScript
    Réponses: 8
    Dernier message: 24/01/2006, 11h05
  5. afficher du texte dans le champ de saisie de type file
    Par MANU_2 dans le forum Balisage (X)HTML et validation W3C
    Réponses: 2
    Dernier message: 01/09/2005, 14h59

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