Fonction et document.formulaire.xxxxx.value

Résolu
skalarache Messages postés 28 Date d'inscription dimanche 3 décembre 2006 Statut Membre Dernière intervention 10 novembre 2007 - 1 sept. 2007 à 15:19
skalarache Messages postés 28 Date d'inscription dimanche 3 décembre 2006 Statut Membre Dernière intervention 10 novembre 2007 - 2 sept. 2007 à 11:56
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

cs_bultez Messages postés 13615 Date d'inscription jeudi 13 février 2003 Statut Membre Dernière intervention 15 octobre 2013 30
2 sept. 2007 à 11:14
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.
3
cs_bultez Messages postés 13615 Date d'inscription jeudi 13 février 2003 Statut Membre Dernière intervention 15 octobre 2013 30
1 sept. 2007 à 16:01
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.
0
skalarache Messages postés 28 Date d'inscription dimanche 3 décembre 2006 Statut Membre Dernière intervention 10 novembre 2007
1 sept. 2007 à 16:08
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...
0
cs_bultez Messages postés 13615 Date d'inscription jeudi 13 février 2003 Statut Membre Dernière intervention 15 octobre 2013 30
1 sept. 2007 à 16:23
>>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.
0

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

Posez votre question
cs_bultez Messages postés 13615 Date d'inscription jeudi 13 février 2003 Statut Membre Dernière intervention 15 octobre 2013 30
1 sept. 2007 à 16: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.
0
skalarache Messages postés 28 Date d'inscription dimanche 3 décembre 2006 Statut Membre Dernière intervention 10 novembre 2007
1 sept. 2007 à 16:49
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
0
cs_bultez Messages postés 13615 Date d'inscription jeudi 13 février 2003 Statut Membre Dernière intervention 15 octobre 2013 30
2 sept. 2007 à 11: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.
0
skalarache Messages postés 28 Date d'inscription dimanche 3 décembre 2006 Statut Membre Dernière intervention 10 novembre 2007
2 sept. 2007 à 11:56
Nikel ça marche!
Merci pour ton aide Bultez
0
Rejoignez-nous