Interprétation de variables dans une fonction

Signaler
Messages postés
17
Date d'inscription
jeudi 18 mars 2004
Statut
Membre
Dernière intervention
7 janvier 2007
-
Messages postés
17
Date d'inscription
jeudi 18 mars 2004
Statut
Membre
Dernière intervention
7 janvier 2007
-
Bonjour,

Voila j'ai une fonction a laquelle je passe 2 variables i et j ou i est le numéro de ma checkbox et j le nom, de ce coté la pas de probleme la fonction les prend bien en compte mais sur la ligne de commande suivante :

var choix = document.db_name.j;

j est interprété comme la lettre j et non comme une variable contenant le nom de ma checkbox...
Merci de me dire comment faire pour qu'il soit bien interprété.

Adn

Pour info voici le code de la fonction entière:

function controle_choix(i,j) {
var nom1 = j + "manager";
var nom2 = j + "user";
var nom3 = j + "none";
var nom4 = j + i;
var choix = document.db_name.j;

//window.alert("j: " + j + " i: " + nom1);
if (i == 0){

choix[1].checked = false;
choix[2].checked = false;
}
if (i == 1){

choix[0].checked = false;
choix[2].checked = false;
}
if (i == 2){

choix[0].checked = false;
choix[1].checked = false;
}
}

3 réponses

Messages postés
13616
Date d'inscription
jeudi 13 février 2003
Statut
Membre
Dernière intervention
15 octobre 2013
34
Bonjour
var choix = document.db[j].name;
mais pour que cela marcje [j] il
faur que les db soient déclarés
avec le même name : à quoi
ça sert donc ?
----------1er cas
1
2
on a bien db[0] et db[1] de name db, tous les 2
et db[0].name=db[1].name= db
----------2éme cas
1
2
on a 1 name db1 et 1 name db2 non indéxés
db1[n] et db2[n] non autorisé
----------ou alors :
1
2
on a bien db[0] et db[1] de name db, tous les 2
on a bien db[0] et db[1] de name db, tous les 2
et db[0].name=db[1].name= db
et on peut utiliser document.getelementById("db"+n)
n variant de 0 à db.length-1
----------
je ne sais pas si je suis complet
Cordialement. Bul.
Messages postés
13616
Date d'inscription
jeudi 13 février 2003
Statut
Membre
Dernière intervention
15 octobre 2013
34
Bonjour
avec petite erreur de frappe :
----------ou alors :
1
2
...
Cordialement. Bul.
Messages postés
17
Date d'inscription
jeudi 18 mars 2004
Statut
Membre
Dernière intervention
7 janvier 2007

Merci pour les conseils, j'ai essayé avec les id mais ça ne marche toujours pas...
Mon but est de définir le role d'un nombre n d'utilisateurs, avec 3 choix de roles je trouve les case à cochées plus jolies que les radio mais bon vu que ça ne marche pas je retourne sur cette solution plus simple a mettre en place. Je remet quand meme mon dernier essais si qqun trouve d'ou le probleme vient ça peut etre intéressant.

fonction :

function controle_choix(i,j) {

if (j = = 0){

var nb1 = i+1;
var nb2 = i+2;

document.db_name.getelementById("cb"+nb1).checked = false;

document.db_name.getelementById("cb"+nb2).checked = false;
}

if (j == 1){

var nb1 = i+1;
var nb2 = i-1;


document.db_name.getelementById("cb"+nb1).checked = false;

document.db_name.getelementById("cb"+nb2).checked = false;
}
if (j == 2){

var nb1 = i-1;
var nb2 = i-2;


document.db_name.getelementById("cb"+nb1).checked = false;
document.db_name.getelementById("cb"+nb2).checked = false;
}

}

FORM :

echo "<form action ='createdb_step2.php' name='db_name'>\n";
echo "\n";
echo "\";
echo \"----
$str_user_name, $str_manager, $str_user, $str_none, \";
for ($i=1 ; $i<$n+1 ; $i++){
list($user) = mysql_fetch_row($res);
echo \"----
$user :, \n\";
$nb1 = $i*1;
$nb2 = $i*2;
$nb3 = $i*3;
?>' value '<? echo"$user.manager";?>' id '<? echo"cb.$nb1";?>' onclick="controle_choix(<? echo"$nb1";?>,0)">,' value '<? echo"$user.user";?>' id '<? echo"cb.$nb2";?>' onclick="controle_choix(<? echo"$nb2";?>,1)">,' value '<? echo"$user.none";?>' id '<? echo"cb.$nb3";?>' checked onclick="controle_choix(<? echo"$nb3";?>,2)">,

<?php
}
echo "
";

echo "

\n";
echo "</form>\n";