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 :

Fonction qui permet de récupérer le type d'un champ


Sujet :

JavaScript

  1. #1
    Membre à l'essai
    Inscrit en
    Mai 2005
    Messages
    24
    Détails du profil
    Informations forums :
    Inscription : Mai 2005
    Messages : 24
    Points : 13
    Points
    13
    Par défaut Fonction qui permet de récupérer le type d'un champ
    Bonjour,

    Je réalise en ce moment un outil qui permet la création de formulaire.
    Le formulaire une fois créé, est enregistré dans une base de données.
    Le questionnaire, qui sera visible par un utilisateur (pour y répondre), est généré à partir des infos de la BD.

    Mes champs (texte, radio...) s'appellent "q1-1" "q2-1"...
    Pour q1-1 : le premier 1 correspond au nombre de question du questionnaire et le second au nombre de réponses.

    Mon problème est que maintenant que j'ai mon questionnaire côté utilisateur, au moment où on valide le questionnaire on vérifie les champs !

    Le problème est que je dois faire une vérification dynamique car il n'y a pas un nombre de questions fixe, et que mes champs sont de type différents : radio, case à cocher, champ texte...

    Enfin, je voudrais savoir s'il existe une fonction qui me permettrait de récupérer le type d'un champ : si un champ est : type="radio" je veux le mot 'radio'.

    En espérant m'être clairement exprimé. Merci

  2. #2
    Inactif  
    Avatar de Kerod
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    11 672
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 11 672
    Points : 20 778
    Points
    20 778
    Par défaut
    Un petit test vite fait
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <input type="text" onclick="this.value=this.type"/>
    Et quand tu cliques sur le input tout s'affiche (disons ce que tu veux)

    Mais pour les autres tu fais la même chose sauf que tu remplaces le this par

  3. #3
    Membre à l'essai
    Inscrit en
    Mai 2005
    Messages
    24
    Détails du profil
    Informations forums :
    Inscription : Mai 2005
    Messages : 24
    Points : 13
    Points
    13
    Par défaut
    Merci ça marche pour le champ input mais pas pour le reste avec getElementById

    Si j'ai bien compris : pour un bouton radio je dois faire :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <input type="radio" id="q1" name="q1"  onclick="getElementById(q1).value=getElementById(q1).type" value="" />
    Si c'est bien ça, rien ne s'affiche et dans la console javascript j'ai le message suivant :"Erreur : getElementById(q1) has no properties"

    merci

  4. #4
    Inactif  
    Avatar de Kerod
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    11 672
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 11 672
    Points : 20 778
    Points
    20 778
    Par défaut
    normal tout getElementById s'écrit de cette manière :
    getElementById('id')

  5. #5
    Membre à l'essai
    Inscrit en
    Mai 2005
    Messages
    24
    Détails du profil
    Informations forums :
    Inscription : Mai 2005
    Messages : 24
    Points : 13
    Points
    13
    Par défaut
    Oui oui j'avais vu.
    Du coup je n'ai pas d'erreur javascript mais je n'ai rien qui s'affiche
    Est-ce normal ?
    Je veux dire que je m'attend à voir "radio" s'afficher mais en même temps il n'y a pas de champ qui permette l'affichage !!

    En tout cas ça marche et je vais voir si ça peut résoudre mon problème ^^
    Merci

  6. #6
    Inactif  
    Avatar de Kerod
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    11 672
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 11 672
    Points : 20 778
    Points
    20 778
    Par défaut
    pour ton radio tu peux faire ceci :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    <input type="radio" id="test" onclick="document.getElementById('texte').value=this.type/>
    <input type="text" id="texte"/>
    Et tu peux très bien le mettre dans une variable pour qu'il soit traité après

  7. #7
    Membre à l'essai
    Inscrit en
    Mai 2005
    Messages
    24
    Détails du profil
    Informations forums :
    Inscription : Mai 2005
    Messages : 24
    Points : 13
    Points
    13
    Par défaut
    Ok ça marche !

    J'allai te demander comment faire pour le récupérer dans une variable quand j'ai trouvé ! Il y a peut être plus simple
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    <script type="text/javascript">
                      function truc(){
                            var i=document.getElementById('q11').value;
    		   }
    	</script>
    Bon je te remercie vraiment pour ton aide, et comme mon sujet est la récupération du type d'un champ, je mets le sujet en résolu ^^

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

Discussions similaires

  1. Réponses: 1
    Dernier message: 28/05/2014, 03h21
  2. Réponses: 22
    Dernier message: 24/05/2012, 15h56
  3. Fonction qui permet de récupérer sa propre ipv6
    Par l'unique dans le forum Débuter
    Réponses: 10
    Dernier message: 23/05/2011, 20h36
  4. fonctions qui permet de changer de base (c++)
    Par coquin29 dans le forum C++
    Réponses: 3
    Dernier message: 18/02/2006, 17h07
  5. cherche une fonction qui permet de faire une recherche
    Par vbcasimir dans le forum Langage
    Réponses: 7
    Dernier message: 01/09/2005, 17h24

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