Fonction et document.formulaire.xxxxx.value [Résolu]

Signaler
Messages postés
28
Date d'inscription
dimanche 3 décembre 2006
Statut
Membre
Dernière intervention
10 novembre 2007
-
Messages postés
28
Date d'inscription
dimanche 3 décembre 2006
Statut
Membre
Dernière intervention
10 novembre 2007
-
Bonjour,
Alors voila j'ai une fonction javascript qui me permet de récupérer certaines infos sur la validation d'un formulaire.
Seulement, pour être utilisable à la suite de plusieurs formulaires, il faut que je passe certains paramètres.Toutefois je n'arrive pas à faire fonctionner cette ligne : var age=document.formulaire.age.value .(age étant un bouton radio).
Il faut donc passer formulaire en parametre mais je n'y arrive pas: sans doute un probleme de syntaxe...
Merci de votre aide.

8 réponses

Messages postés
13616
Date d'inscription
jeudi 13 février 2003
Statut
Membre
Dernière intervention
15 octobre 2013
35
je comprend mieux....

<form name="f1">
  
   
</form>
page 2
<form name="f2">
   
   
</form>
          
<script type="text/javascript">
    function msg(f)
    {    alert(f.age[0].value);    }
    msg(document.f1);
    msg(document.f2);
</script>

par exemple. on peut ausi user de document.forms[0] ou document.forms["f1"]
ou mettre un id et document.getElementById("f1")...

une remarque : un ID doit être unique sur une page. ( mis en rouge )

<hr />



Cordialement                Bul         [mon Site]     [M'écrire]<hr />
En général, c'est absurde de généraliser.
Messages postés
13616
Date d'inscription
jeudi 13 février 2003
Statut
Membre
Dernière intervention
15 octobre 2013
35
bonjour,

>>sans doute un probleme de syntaxe
    probablement... mais peu de billes pour répondre !

>>var age=document.formulaire.age.value .(age étant un bouton radio).
    cependant, si on parle de radio, il doit y en avoir plusieurs... peut-être ?
    dans ce cas il faut lui dire lequel .
    var age=document.formulaire.age[index de 0 à document.formulaire.age.length-1].value
      
       c'est curieux d'utiliser le value, pour un radio...
       il suffit, en général, de tester "radio.checked"


       if ( document.formulaire.age[0].checked )
       { le 1er bouton radio est coché ... }




<hr />



Cordialement                Bul         [mon Site]     [M'écrire]<hr />En général, c'est absurde de généraliser.
Messages postés
28
Date d'inscription
dimanche 3 décembre 2006
Statut
Membre
Dernière intervention
10 novembre 2007

Bonjour Bultez,
voici pour le moment le début de ma fonction enregistrementEleve.

function enregistrementEleve(numero,page,formulaire) {
    var nom=document.getElementById('nom').value;
  var prenom=document.getElementById('prenom').value;
  var etablissement=document.getElementById('listeEtablissement').selectedIndex + 1; 

  if(document.formulaire.age_majeur.checked){
        var age=document.formulaire.age_majeur.value;
  }
    if(document.formulaire.age_mineur.checked){
        var age=document.formulaire.age_mineur.value;
    }

en faite ces boutons radio "age" sont issu d'une fonction qui écrit le formulaire. C'est pourquoi le nom du formulaire me plante car il y en a deux différents et je ne sais pas comment l'écrire dans le javascript...
Messages postés
13616
Date d'inscription
jeudi 13 février 2003
Statut
Membre
Dernière intervention
15 octobre 2013
35
>>en faite ces boutons radio "age" sont issu d'une fonction qui écrit le
formulaire.
>>C'est pourquoi le nom du formulaire me plante car il y en a
deux différents
    on ne peut pas voir ce formulaire ?   enfin... un PETIT EXTRAIT.
    car je ne comprend pas tout...  

"normalement" si, par exemple :
<form name= " on s'en balance " ...>
...</form>
<form name ="toto"...>
    titi"...>
    titi"...>   ...
...</form>
            on teste document.toto.titi[0].checked

mais on dirait que tu ne donnes pas le même name aux radios ?  

    document.formulaire.age_majeur.checked et document.formulaire.age_mineur.checked ???
    donc, les 2 peuvent être cochés ?

    si tu met le même name, la sélection de l'un déselectionnera l'autre
       ( et lycée de Versailles ),  mais ce n'est peut-être pas ce que tu veux..





<hr />




Cordialement                Bul         [mon Site]     [M'écrire]<hr />
En général, c'est absurde de généraliser.
Messages postés
13616
Date d'inscription
jeudi 13 février 2003
Statut
Membre
Dernière intervention
15 octobre 2013
35
en lisant...
var etablissement=document.getElementById('listeEtablissement').selectedIndex + 1;
    ça me semble curieux aussi...
    pourquoi prendre l'option qui suit celle sélectionnée par l'utilisateur ?
    mais comme je ne sais pas ce que tu en fais... c'est peut-être normal.


<hr />




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


En général, c'est absurde de généraliser.
Messages postés
28
Date d'inscription
dimanche 3 décembre 2006
Statut
Membre
Dernière intervention
10 novembre 2007

age_majeur et age_mineur sont des identifiant que j'ai donné au deux radio dont le name est age. C'est pourquoi on ne peut en selectionner qu'un seul sur les deux. Donc dans ton exemple ça serait :
page 1
<form name= " on s'en balance " ...>
   age"...>
    age"...>
...</form>
page 2
<form name ="toto"...>
    age"...>
    age"...>   ...
...</form>
           

on teste document.toto.age_majeur.checked dans la page 1 ou la page 2 puisque je voudrais passer par une fonction donc le parametre serait le nom du formulaire et ainsi intéragir au niveau du document.formulaire.age_majeur.checked.

Enfin, pour l'établissement, je récupère son index auquel j'ajoute 1 pour que ça corresponde à mon identifiant établissement dans ma bdd.

En fait, je plante sur la syntaxe de formulaire qui est en parametre et donc est une variable...je ne sais pas comment l'écrire au niveau de là pour qu'il la reconnaisse en temps que variable : document.formulaire.age_majeur.checked
Messages postés
13616
Date d'inscription
jeudi 13 février 2003
Statut
Membre
Dernière intervention
15 octobre 2013
35
    j'ai d'ailleurs mis plusieurs ID identiques !  
<hr />



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


En général, c'est absurde de généraliser.
Messages postés
28
Date d'inscription
dimanche 3 décembre 2006
Statut
Membre
Dernière intervention
10 novembre 2007

Nikel ça marche!
Merci pour ton aide Bultez