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 :

Mon script pour Tester un bouton radio ne fonctionne pas.


Sujet :

JavaScript

  1. #1
    Invité
    Invité(e)
    Par défaut Mon script pour Tester un bouton radio ne fonctionne pas.
    Bonjour

    J ai le form suivant :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    <form name='form1'>
    <input name="QuoiQui" type="radio" checked="checked" value="qoui"/>Quoi
    <input name="QuoiQui" type="radio" value="qui"/>Qui
    <input type="text" size="30" value="" id="inputString" onkeyup="lookup(this.value);" onblur="fill();" />
    </form>
    je voudrais dans la fonction lookup tester si la valeur quoi est cochee et si oui, poursuivre l execution donc j ai fais cela :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    function lookup(inputString) {
    if(document.form1.QuoiQui.value=="quoi")
    { 
    //---ICI le test est coorect donc on poursuit...	
    }	}
    mon pb est que le test n est jamais TRUE.

    En fait je souhaite realiser un petit annuaire pour une association d enfants dysphasiques et si qoui est coché on cherche dans la liste des partenaires et si c est qui, on cherche dans la liste des membres.
    je ne connais pas javascript mais d apres ce que j ai lu, j ai tous les elements pour le test...

    merci pour votre aide

  2. #2
    Rédacteur/Modérateur
    Avatar de andry.aime
    Homme Profil pro
    Inscrit en
    Septembre 2007
    Messages
    8 391
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Ile Maurice

    Informations forums :
    Inscription : Septembre 2007
    Messages : 8 391
    Points : 15 059
    Points
    15 059
    Par défaut
    Bonsoir,

    <input name="QuoiQui" type="radio" checked="checked" value="qoui"/>
    if(document.form1.QuoiQui.value=="quoi")


    A+.

  3. #3
    Invité
    Invité(e)
    Par défaut
    merci une faute de frappe, quel ane...mais je n y parviens pas non plus, meme apres correction.

    J ai essayé de simplifier donc j ai fait(peut etre cela vient il de la fonction ???)

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    function lookup(inputString) {
    	if(inputString.length == 0 || document.form1.QuoiQui.value=="qui") {
    			// Hide the suggestion box.
    			$('#suggestions').hide();
    		} else {
    			$.post("rpc.php", {queryString: ""+inputString+""}, function(data){
    				if(data.length >0) {
    					$('#suggestions').show();
    					$('#autoSuggestionsList').html(data);
    				}
    			});
    		}
    } // lookup
    mais là la suite du script s execute systématiquement...

    merci pour votre aide

  4. #4
    Rédacteur

    Avatar de Bovino
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2008
    Messages
    23 647
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2008
    Messages : 23 647
    Points : 91 220
    Points
    91 220
    Billets dans le blog
    20
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    document.form1.QuoiQui.value
    et le navigateur, il fait plouf plouf pour déterminer de quel input tu parles ?

    EDIT :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    <form>
    <input type="radio" name="test" value="1" />
    <input type="radio" name="test" value="2" />
    <input type="button" value="Valeur radio" onclick="alert(this.form.test.value)" />
    </form>
    renvoie systématiquement undefined

  5. #5
    Invité
    Invité(e)
    Par défaut
    je pensais que document etait la page, form1 donnait le nom du form et quoiqui le nom de l imput....
    j ai pas compris le truc.

  6. #6
    Rédacteur

    Avatar de Bovino
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2008
    Messages
    23 647
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2008
    Messages : 23 647
    Points : 91 220
    Points
    91 220
    Billets dans le blog
    20
    Par défaut
    Citation Envoyé par rooky06
    et quoiqui le nom de l imput....
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    <input name="QuoiQui" type="radio" checked="checked" value="qoui"/>Quoi
    <input name="QuoiQui" type="radio" value="qui"/>Qui
    Ben si j'en crois mes yeux, il y a deux input QuoiQui, ce qui rend difficile pour le navigateur de savoir auquel tu fais référence

  7. #7
    Invité
    Invité(e)
    Par défaut
    Je sais, mais je pensais justement que ça testait les deux value des deux....

    je m aperçois de la connerie en l ecrivant.

    mais document.form1.QuoiQui.value=="qui" devrait etre systhematiquement true puisque il y a bien un quoiqui qui s appelle "qui" non ?

    Dsl j ai du mal à comprendre...

  8. #8
    Rédacteur

    Avatar de Bovino
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2008
    Messages
    23 647
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2008
    Messages : 23 647
    Points : 91 220
    Points
    91 220
    Billets dans le blog
    20
    Par défaut


    renvoie une collection, il faut donc faire une boucle pour déterminer celui qui est coché puis sa valuer, mais comme tu utilises jQuery, utilise les méthodes de jQuery plutôt que de faire des mélanges vanilla / jQuery, ce sera plus propre...

  9. #9
    Invité
    Invité(e)
    Par défaut
    merci, je vais chercher, j essaie de 'neutraliser' un autosuggest que j ai trouvé en jquery...d'où le mélange.

  10. #10
    Expert éminent
    Avatar de Watilin
    Homme Profil pro
    En recherche d'emploi
    Inscrit en
    Juin 2010
    Messages
    3 094
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : En recherche d'emploi

    Informations forums :
    Inscription : Juin 2010
    Messages : 3 094
    Points : 6 755
    Points
    6 755
    Par défaut
    Tu démontes un gratte-ciel pour t'en faire une cabane de jardin ? ^^

    Bon. Tu as deux input portant le même name. Il y a deux façons équivalentes d'y accéder :
    Code JS : Sélectionner tout - Visualiser dans une fenêtre à part
    document.form1.QuoiQui
    ou
    Code JS : Sélectionner tout - Visualiser dans une fenêtre à part
    document.getElementsByName('QuoiQui')
    Dans les deux cas, le résultat est une collection de deux éléments :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    [ input quoi, input qui ]
    On peut accéder à un élément par son index, comme dans les tableaux (mais ce n'est pas un tableau !) :
    Code JS : Sélectionner tout - Visualiser dans une fenêtre à part
    document.getElementsByName('QuoiQui')[0]
    De plus, la propriété value ne change pas, que l'input soit coché ou non. Ce qui change, c'est la propriété checked.

    Je te conseille de mettre en œuvre une solution par toi-même avant d'aller chercher du code « prêt-à-intégrer » sur Google. Les frameworks sont fantastiques, ils peuvent faire gagner énormément de temps, mais si on n'a jamais mis les mains dans le cambouis, le jour où on a une difficulté on s'en mord les doigts

  11. #11
    Invité
    Invité(e)
    Par défaut
    merci, j ai tout compris. Et ducoup j ai trouvé la solution...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    if(inputString.length == 0 || document.form1.QuoiQui[1].checked==true)
    Et cela fonctionne parfaitement...

    Par contre, question idiote, alors, à quoi sert value si on ne peut pas le tester ?

  12. #12
    Modérateur

    Avatar de NoSmoking
    Homme Profil pro
    Inscrit en
    Janvier 2011
    Messages
    17 059
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Janvier 2011
    Messages : 17 059
    Points : 44 584
    Points
    44 584
    Par défaut
    Citation Envoyé par rooky06 Voir le message
    Par contre, question idiote, alors, à quoi sert value si on ne peut pas le tester ?
    c'est un truc tout bête, cela sert à être exploité coté serveur, pour connaître le choix de l'internaute....

  13. #13
    Invité
    Invité(e)
    Par défaut
    merci, la boucle est bouclée...

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

Discussions similaires

  1. script pour tester présence d'un processus
    Par sparowme dans le forum Scripts/Batch
    Réponses: 2
    Dernier message: 15/01/2009, 17h44
  2. Réponses: 6
    Dernier message: 22/09/2008, 14h07
  3. un script pour activer les boutons
    Par kokumbo dans le forum Général JavaScript
    Réponses: 6
    Dernier message: 20/02/2008, 10h58
  4. Réponses: 4
    Dernier message: 17/04/2007, 15h24

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