Bonjour,
Je suis en train de mettre en place un code qui rend inactif tous les champs d'un formulaire lors de la consultation afin de proteger les données.
Un bouton 'unlocking' permet de verrouiller/deverrouiller tous les champs en meme temps.
Le probleme c'est que le verrouillage ne fonctionne pas sur tous les champs et je n'arrive pas a savoir pourquoi...
Voici le code de la page principale :
La fonction add_disabled et enable_all se trouvent dans le fichier serre.js et ont le code suivant :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36 <HTML> <HEAD> <title>Stock</title> <META HTTP-EQUIV="Content-Style-Type" CONTENT="text/css"> <style type="text/css"> <!-- @IMPORT URL(xxx/form_serre.css); --> </style> </HEAD> <SCRIPT LANGUAGE="JavaScript1.2" SRC="/xxx/scripts/beosv2.js"></SCRIPT> <SCRIPT language="javascript" src="/xxx/scripts/serre.js"></script> <SCRIPT language="javascript" src="/xxx/scripts/verificateur.js"></script> <SCRIPT language="javascript"> var verrou=true; function on_load() { add_disabled(document.forms[0].code_ext); add_disabled(document.forms[0].nb_ini); } ... autres fonctions javascript... </script> <body onLoad="on_load();test_nb_ini();"> <center> <form name='stock_modif' action='stock_fiche2.cgi' method='post' enctype='multipart/form-data'> <INPUT TYPE="button" NAME="unlocking" VALUE="unlocking" ONCLICK="verrou = !verrou;enable_all(verrou);"> ... Code ext : : <INPUT TYPE="text" NAME="code_ext" SIZE=40 MAXLENGTH=100> Initial : <INPUT TYPE="text" NAME="nb_ini" VALUE="100" SIZE=10 MAXLENGTH=100> <br><INPUT TYPE="text" NAME="code_ext2" VALUE="100" SIZE=10 MAXLENGTH=100> ...
Dans la fonction add_disabled, j'ai essayé de faire un alert(elem.name) et sur les champs qui ne fonctionne pas, ca affiche 'undefined' au lieu du nom du champ. Dans le code ci dessus, ca fonctionne sur le champ code_ext mais pas sur nb_ini. J'ai donc essayé de mettre un champ code_ext2, identique a celui de nb_ini, et le verrouillage/deverrouillage de code_ext2 fonctionne bien donc je ne comprend pas du tout...
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15 var disabled_elem = new Array(); function add_disabled(elem) { elem.disabled=true; disabled_elem.push(elem); } function enable_all( test) { for (i=0; i<disabled_elem.length; i++) { disabled_elem[i].disabled=test; } }
Est ce que quelquun peut me donner un coup de main.?
Partager