Y en ras le bol : acitvé - désactivé des zone de texte

coyote_fx Messages postés 55 Date d'inscription mardi 13 janvier 2004 Statut Membre Dernière intervention 18 juillet 2006 - 8 avril 2006 à 12:00
cs_bultez Messages postés 13615 Date d'inscription jeudi 13 février 2003 Statut Membre Dernière intervention 15 octobre 2013 - 8 avril 2006 à 15:42
Hello à tous voilà Javascript n'est pas ma spécialité du tout...

je voudrais juste activer ou désactiver plusieurs zones de textes en fonction d'un clique sur des BT radio, au départ j'utilisais une liste de sélection mais ça ne fonctionnait pas. je me suis donc rabattu sur plusieurs boutons radio mais ça ne fonctionne pas non plus...
En gros j'ai 4 Bt radio en cliquant sur h - kg et km je dois désactiver les zones de texte relative aux quantités. En cliquant sur pc je dois le réactiver.

Merci à tout ceux qui pourront m'aider !!!! Je suis complètement bloqué dans mon développement php qui en découle !!

Les Bt:
hkgkmpc

Code HTML :
<form action="FicheArt.php" method="post" name="ficheart" target="_self" ENCTYPE="multipart/form-data">
h
kg
km
pc </td>

Ma fonction javascript:
a noter quelle est réduite au minimum pour faire les tests... Mais mon objectifs c'est de metre en paramètre une variable x avec comme valeur 1 ou 0 à la fonction.
Si 1 activer les champs, si 2 désactiver les champs...

<head>
<script type='text/javascript'>
function desact()
{
var LIBELLE_COURT_UNITE document.getElementById('pc');


var QTITE_STOCK_ART document.getElementById('QTITE_STOCK_ART');
var QTITE_MINIMALE_ART document.getElementById('QTITE_MINIMALE_ART');
var QTITE_RESERVEE_ART document.getElementById('QTITE_RESERVEE_ART');


QTITE_STOCK_ART.disabled=true;
QTITE_MINIMALE_ART.disabled=true;
QTITE_RESERVEE_ART.disabled=true;


}
</script>


<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<title>
Encodage des Articles</title>
<link rel="stylesheet" href="../2col_leftNav.css" type="text/css">
</head

10 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
8 avril 2006 à 12:15
Bonjour,
déjà quelques erreurs de syntaxe :

h...

var LIBELLE_COURT_UNITE = document.getElementById('pc'); ...

>>j'utilisais une liste de sélection mais ça ne fonctionnait pas
il devait y avoir les "mêmes" erreurs de syntaxe.
avec IE, il faut activer le Debugger, avec FF, il faut regarder la console javascript


maintenant, je n'ai pas tout à fait compris le but de la manoeuvre...
rendre un champ actif ( et les autres inactifs ? ) ou pas en fonction d'un radio coché ou pas ?

Cordialement. Bul. ~ Mon Site qu'il est à Moi ~<FO>

</FO>
</S< body>
0
coyote_fx Messages postés 55 Date d'inscription mardi 13 janvier 2004 Statut Membre Dernière intervention 18 juillet 2006
8 avril 2006 à 12:39
Merci de m'aider,
J'ai modifié le onclick et j'ai activé le débugeur dans IE ca ne fonctionne pas mieux.

Le "débugeur" me retourne une erreur:
ligne 70
Car: 0
Erreur: Objet Attendu
Code: 0
Url: http://......

61function desact()
62{
63var LIBELLE_COURT_UNITE document.getElementById('pc');


65var QTITE_STOCK_ART document.getElementById('QTITE_STOCK_ART');
66var QTITE_MINIMALE_ART document.getElementById('QTITE_MINIMALE_ART');
67var QTITE_RESERVEE_ART document.getElementById('QTITE_RESERVEE_ART');


69 QTITE_STOCK_ART.disabled=true;
70 QTITE_MINIMALE_ART.disabled=true;
71 QTITE_RESERVEE_ART.disabled=true;


}
0
cs_bultez Messages postés 13615 Date d'inscription jeudi 13 février 2003 Statut Membre Dernière intervention 15 octobre 2013 30
8 avril 2006 à 12:55
tout n'a pas été rectifié :

var QTITE_STOCK_ART = document.getElementById('QTITE_STOCK_ART');

( il en reste d'autres )
Cordialement. Bul. ~ Mon Site qu'il est à Moi ~<FO>
</FO>
</S< body>
0
coyote_fx Messages postés 55 Date d'inscription mardi 13 janvier 2004 Statut Membre Dernière intervention 18 juillet 2006
8 avril 2006 à 12:55
Voilà en gros ca que je voudrais faire...

<script type='text/javascript'>
function desact(x)
{
var LIBELLE_COURT_UNITE document.getElementById('pc');
var QTITE_STOCK_ART document.getElementById('QTITE_STOCK_ART');
var QTITE_MINIMALE_ART document.getElementById('QTITE_MINIMALE_ART');
var QTITE_RESERVEE_ART document.getElementById('QTITE_RESERVEE_ART');


if (x == 1)
{
QTITE_STOCK_ART.disabled=true;
QTITE_MINIMALE_ART.disabled=true;
QTITE_RESERVEE_ART.disabled=true;
} else
{
QTITE_STOCK_ART.disabled=false;
QTITE_MINIMALE_ART.disabled=false;
QTITE_RESERVEE_ART.disabled=false;
}

}
</script>

Les boutons RADIO:

h
kg
km
pc </td>
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
8 avril 2006 à 13:07
oui,oui... mais s'agit-t-il de
rendre un champ actif ( et les autres inactifs ? ) ou pas en fonction d'un radio coché ou pas ?
je suis un peu beubeu, j'ai souvent du mal à comprendre, et
inutile de que je mette une solution qui ne corresprondra
peut-être/sûrement pas ou alors par pur hasard.
Cordialement. Bul. ~ Mon Site qu'il est à Moi ~<FO>
</FO>
</S< body>
0
coyote_fx Messages postés 55 Date d'inscription mardi 13 janvier 2004 Statut Membre Dernière intervention 18 juillet 2006
8 avril 2006 à 13:11
Super le code simplifié marche !! Merci

Maintenant je dois utiliser le if else pour activer ou désactiver les champs.
0
coyote_fx Messages postés 55 Date d'inscription mardi 13 janvier 2004 Statut Membre Dernière intervention 18 juillet 2006
8 avril 2006 à 13:20
En gros j'ai trois champs textes qui sont censés contenir des valeurs de quantités. Je veux les activer ou les désactiver tout les trois en m^me temps en fonction de quatre boutons radio (trois de ces boutons les actives, et le dernier les désactives).
0
cs_bultez Messages postés 13615 Date d'inscription jeudi 13 février 2003 Statut Membre Dernière intervention 15 octobre 2013 30
8 avril 2006 à 13:21
>>Super le code simplifié marche !!
euh ??? je n'ai rien simplifié ? si ?
>>Maintenant je dois utiliser le if else pour activer ou désactiver les champs.
il y a sûrement beaucoup plus "simple", plus "propre", plus "pro (j'aime bien ça, ça en jette !)" ...
Cordialement. Bul. ~ Mon Site qu'il est à Moi ~<FO>
</FO>
</S< body>
0
cs_bultez Messages postés 13615 Date d'inscription jeudi 13 février 2003 Statut Membre Dernière intervention 15 octobre 2013 30
8 avril 2006 à 13:30
j'envoie un ch'tit exemple dès que j'ai le temps....
Cordialement. Bul. ~ Mon Site qu'il est à Moi ~<FO>
</FO>
</S< body>
0
cs_bultez Messages postés 13615 Date d'inscription jeudi 13 février 2003 Statut Membre Dernière intervention 15 octobre 2013 30
8 avril 2006 à 15:42
j'ai donc conservé les name,id...
perso j'aurais fait ça avec un même name et/ou un "id progressif"
le code aurait été "plus simple"

<HTML>
<HEAD>
<TITLE></TITLE>
<script type="text/javascript">
function desact(chk,zone)
{
document.getElementById(zone).disabled=!chk.checked;
}
function init(chk,lst,btn)
{
for ( var n=0;n<lst.length;n++ )
{
document.getElementById(lst[n]).disabled=chk.checked;
document.getElementById(btn[n]).checked=!chk.checked;
}
}
</script>
</HEAD>

<form action="FicheArt.php" method="post" name="ficheart" target="_self" ENCTYPE="multipart/form-data">
h
kg
km
pc </td>



</HTML>

3 checkbox ( pour correspondre à l'état des zones de saisie )
au lieu des radio, qui [in]valident les zones de saisie.
le 4ème les [in]valident toutes.
à adapter à ce qu'il faut faire exactement donc.
il faudrait aussi que le checkbox "pc" suive l'état des zones de saisies
( pas fait )

Cordialement. Bul. ~ Mon Site qu'il est à Moi ~<FO>

</FO>
</S< body>
0
Rejoignez-nous