Obtenir et interpréter des infos fournies par des checkbox

sagat06 Messages postés 166 Date d'inscription mercredi 27 juin 2007 Statut Membre Dernière intervention 31 mars 2014 - 15 août 2007 à 11:17
cs_bultez Messages postés 13615 Date d'inscription jeudi 13 février 2003 Statut Membre Dernière intervention 15 octobre 2013 - 15 août 2007 à 14:22
Bonjour, débutant en javascript, je me trouve confronté à mon premier pb.

Je suis en train de créer un site dynamique sur lequel les visiteurs pourront me donner des informations via des checkbox. Mon pb est que je n'arrive pas à obtenir ces infos que je voudrais stocker dans un tableau.
Avant même de les stocker dans un tableau, j'ai simplement essayé de les faire s'afficher sur l'écran mais pas moyen. Bref, voilà mon bout de code

<HTML>
<HEAD>
<SCRIPT LANGUAGE="Javascript">


function test(){
 if (document.pilou.prop[0].checked==true){
  if (document.pilou.prop[1].checked==true) { alert('options 1 et 2')
  else alert('option 1') }
 else
  if (document.pilou.prop[1].checked==true) { alert('option 2')
  else alert('aucune option')}
 }
}


</SCRIPT>
</HEAD>

<form method="post"  name="pilou" onSubmit="test()">






<center>


1

2




</center>
</form>

</HTML>

Voilà,j 'éspère que vous cernez mieux mon pb. Je pense qu'il n'est pas très difficile à résoudre mais je ne suis qu'un débutant désireux d'apprendre.
En attendant vos réponses, je vous remercie d'avance.

Signé Sagat

9 réponses

cs_bultez Messages postés 13615 Date d'inscription jeudi 13 février 2003 Statut Membre Dernière intervention 15 octobre 2013 30
15 août 2007 à 11:44
Bonjour,

>>Avant même de les stocker dans un tableau,
    ils y sont déjà.
    ( document.pilou.prop )

>>j'ai simplement essayé de les faire s'afficher sur l'écran mais pas moyen.
    des "erreurs"    dans les {}
    pour rester sur ce que tu as fait :

function test()
{    if (document.pilou.prop[0].checked)
            {    if (document.pilou.prop[1].checked)
                          { alert('options 1 et 2');    }
                 else     {    alert('option 1'); }
            }
    else    {    if (document.pilou.prop[1].checked)
                          {     alert('option 2');    }
                 else     {    alert('aucune option');    }
            }
}





les trucs indispensables
:










o~~~~~~~~~~~~~~~~~o~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~o~~~~~~~~~~~~~~~~o 
| Avec | et mieux : <label style="color: rgb(0, 128, 0);">Télécharger</label> | 
|~~~~~~~~~~~~~~~~~|~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~|~~~~~~~~~~~~~~~~| 
|<label style="color: rgb(128, 0, 0);">FireFox</label> |regarder la "console d'erreurs" | FireBug
| | Outils / Console d'erreurs | | 
|~~~~~~~~~~~~~~~~~|~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~|~~~~~~~~~~~~~~~~| 
|<label style="color: rgb(128, 0, 0);">Internet Explorer</label>|activer le deboggage : utils/options Ile Debogger IE | 
| | dans la liste, sous "Navigation" : décocher | | 
| | ° Afficher une notification de chaque erreur de script | | 
| | ° Désactiver le débogage de Scripts (autres applications)| | 
| | ° Désactiver le débogage de Scripts (Internet Explorer) | | 
o~~~~~~~~~~~~~~~~~o~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~o~~~~~~~~~~~~~~~~o











<hr />



Cordialement                Bul         [mon Site]     [M'écrire]



<hr />




Généralement, c'est absurde de généraliser.
0
sagat06 Messages postés 166 Date d'inscription mercredi 27 juin 2007 Statut Membre Dernière intervention 31 mars 2014 1
15 août 2007 à 12:13
Merci de m'avoir répondu aussi vite.
J'ai donc pris acte de ta réponse et ai donc corrigé ma fonction test(), mais cela ne fonctionne toujours pas....
Après avoir cocher l'une ou l'autre, voir les 2 checkbox et soumis mes choix en cliquant sur le bouton Submit, rien ne se passe.

Le problème pourrait-il venir de ma déclaration de formulaire ?? En effet, je l'appelle ainsi :
   <form method= "post"  name="pilou" onSubmit="test()">

mais j'ai vu qu'il fallait souvent y joindre l'attribut action,  cette ligne se transformant ainsi:
   <form method ="post"  action="qq chose" name="pilou" onSubmit="test()">

De plus, après avoir fait les modifications conseillées dans Outils/options Internet/Avancés ,
c'est bien de cette ligne que semblent venir l'erreur.
  
Mais dans ce cas, vu que les donnés doivent être traitées dans mon script se trouvant sur la même page, je sais plus quoi faire.
Si vous voyez d'où mon pb peut venir, je vous remercie d'avance

Signé Sagat
0
cs_bultez Messages postés 13615 Date d'inscription jeudi 13 février 2003 Statut Membre Dernière intervention 15 octobre 2013 30
15 août 2007 à 12:30
ce que je t'ai fourni fonctionne.
    je n'ai changé que la function. le reste est resté tel quel.

remets nous donc le tout... il doit te rester une erreur,
    probablement pas de la déclaration du formulaire.

si les données doivent être traitées par la même page,
    ne met pas action="page", ça rappellera la même.

<hr />



Cordialement                Bul         [mon Site]     [M'écrire]




<hr />




Généralement, c'est absurde de généraliser.
0
cs_bultez Messages postés 13615 Date d'inscription jeudi 13 février 2003 Statut Membre Dernière intervention 15 octobre 2013 30
15 août 2007 à 12:33
>>


les données doivent être traitées par la même page,

    une question quand même à propos de cette affirmation :
    en php ? : ça baignera.
    en javascript ? : dans ce cas pourquoi recharger la page ?
       de plus on ne pourra pas traiter les données avec method="post"




<hr />




Cordialement                Bul         [mon Site]     [M'écrire]
<hr />


Généralement, c'est absurde de généraliser.
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
sagat06 Messages postés 166 Date d'inscription mercredi 27 juin 2007 Statut Membre Dernière intervention 31 mars 2014 1
15 août 2007 à 13:34
Encore merci de me répondre bultez.
En fait, je comprends que je suis en train de m'embrouiller, et par la même de t'embrouiller aussi.

Pour l'instant je me concentre sur un projet javascript uniquement. Cependant ayant déjà fait un peu de php en Fac, j'ai comme qui dirait fait une petite bouillabaisse. Je te refile au caractère près ma page Html que je veux tester (celle que j'ouvre avec IE):

<HTML>
<HEAD>
<SCRIPT LANGUAGE="Javascript">




function test()
{    if (document.pilou.prop[0].checked)
            {    if (document.pilou.prop[1].checked)
                          { alert('options 1 et 2');    }
                 else     {    alert('option 1'); }
            }
    else    {    if (document.pilou.prop[1].checked)
                          {     alert('option 2');    }
                 else     {    alert('aucune option');    }
            }
}


</HEAD>
</SCRIPT>

<form name="pilou" onSubmit="test()">






<center>

1

2




</center>
</form>

Dans la déclaration du formulaire, j'ai enlevé la méthode Post qui semble ne servir à rien en javascript,
et je ne précise rien à action

Bref, j'éspère que tu pourras m'aider et encore merci de me consacrer un peu de ton temps

Signé Sagat
0
sagat06 Messages postés 166 Date d'inscription mercredi 27 juin 2007 Statut Membre Dernière intervention 31 mars 2014 1
15 août 2007 à 13:40
Salut bultez, j'ai trouver mon erreur. Enfin !!!

J'avais tout simplement inversé les balises fermantes </head> et </script>
=> erreur de gros débutant

En tt cas, je te remercie encore une fois, et dsl pour les éventuelles désagréments (perte de temps pour rien)

A une prochaine, peut être...(sûrement même, vu mon niveau)

Signé Sagat
0
cs_bultez Messages postés 13615 Date d'inscription jeudi 13 février 2003 Statut Membre Dernière intervention 15 octobre 2013 30
15 août 2007 à 13:44
</HEAD>
</SCRIPT>

    il vaudrait mieux
</script>
</head>
      pas les minuscules mais l'ordre.

<SCRIPT LANGUAGE="Javascript">
    aujourd'hui il vaut mieux utiliser ( même si ça baigne toujours )
<script type="text/javascript">








<hr />



Cordialement                Bul         [mon Site]     [M'écrire]



<hr />




Généralement, c'est absurde de généraliser.
0
sagat06 Messages postés 166 Date d'inscription mercredi 27 juin 2007 Statut Membre Dernière intervention 31 mars 2014 1
15 août 2007 à 13:46
Merci, c noté

Signé Sagat
0
cs_bultez Messages postés 13615 Date d'inscription jeudi 13 février 2003 Statut Membre Dernière intervention 15 octobre 2013 30
15 août 2007 à 14:22
téléscopage des messages...

>>j'ai trouver mon erreur
    nickel.

>>dsl pour les éventuelles désagréments
    lesquels ? y'a pas d'aml !
    la plupart du temps, les erreurs sont "flagrantes"
        mais on ne voit rien. un oeil extérieur peut aider.
    et très souvent le simple fait d'exposer son souci fait
        qu'on arrive, tout seul, à le résoudre.




<hr />



Cordialement                Bul         [mon Site]     [M'écrire]



<hr />




Généralement, c'est absurde de généraliser.
0
Rejoignez-nous