Verrouillage de tous les champs d'une page
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 :
Code:
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>
... |
La fonction add_disabled et enable_all se trouvent dans le fichier serre.js et ont le code suivant :
Code:
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;
}
} |
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...
Est ce que quelquun peut me donner un coup de main.?