Rechercher : dans
Par :

Désactivé formulaire.

Dernière réponse le 22 jan 2008 à 15:16:41 Wamy, le 22 jan 2008 à 12:01:55 
 Signaler ce message aux modérateurs

Bonjour,
j'ai une question toute bête sur les formulaires HTML.
je cherche un moyen de désactiver tous les éléments du formulaire en une fois. (une seule action).

j'ai trouvé une solution, qui est de mettre le formulaire dans un <div></div>...et d'attribuer DISABLED au DIV..
cela fonctionne, ms la page deviens presque illisible en raison du 'disabled' qui grise tout.

Je connais l'attribut READONLY, mais celui ci ne fonctionne pas sur le div.

Je sais aussi qu'on peux donner un id du type id1, id2, id3..aux controles..Et créer une fonction js qui les désactive a l'aide d'une boucle, mais je ne peux pas, dans ce cas, me permettre de changer les id existants.. argh !!

Quelqu'un aurait il une solution ?

Merci d'avance

Wamy

Meilleures réponses pour « désactivé formulaire. » dans :
Désactiver l'exécution de certains programmes au démarrage VoirDésactiver l'exécution de certains programmes au démarrage - Windows 98/Me/2000/XP/Vista Avec msconfig Avec WinPatrol Avec Startuplite Avec CCleaner Remarques Lorsque vous installez des logiciels, certains s'exécutent à chaque...
[Webmaster] Un formulaire de contact pour votre site VoirCe formulaire permet d'avoir une page pour être contacté sur son site, sans utiliser de logiciel de messagerie. La personne qui vous contacte indique son adresse, l'objet du message et son message (évidemment). Le code est une version...
Servlets - Gestion des formulaires VoirIntroduction aux formulaires Les servlets rendent très simple la récupération de données envoyées par l'intermédiaire de formulaires HTML, c'est-à-dire une interface graphique permettant à l'utilisateur de saisir des données. Grâce à la balise...
Les formulaires HTML VoirIntérêt d'un formulaire Les formulaires interactifs permettent aux auteurs de pages Web de doter leur page web d'éléments interactifs permettant par exemple un dialogue avec les internaute, à la manière des coupons-réponse présents dans certains...
Bases de données - Utilisation de formulaires VoirUtilisation de formulaires Afin d'exploiter les bases de données, il faut fournir une interface à l'utilisateur lui permettant de visualiser des données en fonction de certains critères. Pour cela il existe un outil : les formulaires. Un formulaire...

1

Xil, le 22 jan 2008 à 13:13:16
  • +2

function disableForm(){
  //Si tu n'as qu'un formulaire
   var form = document.forms[0];
  
  //Si tu en as plusieurs, qui sont définis par un nom
  var form = document.nomFormulaire;

  for(var i = 0; i < form.length; i++){
       form.elements[i].disabled = true;
  }
}


Le tableau document.forms[].elements reprend tout élément input d'un formulaire donné.
Plus d'explications ici : http://docs.sun.com/source/816-6408-10/form.htm

Répondre à Xil

2

Wamy, le 22 jan 2008 à 14:15:55
  • +1

Merci Xil..
effectivement, c tout con ! j'aurai du y penser !! lol

J'ai fait une petite modif toutefois a ton code, je la post, on sais jms, ca pourra peut etre servir a un prochain.
Le disable fonctionne nickel, mais a l'affichage, il grise tout...et le formulaire deviens difficilement lisible.

Du coup j'ai utiliser le readonly, qui lui, empeche l'utilisateur de saisir, mais laisse le meme "visuel"...

Voici la fonction modifiée :

function disableForm(){
//Si tu n'as qu'un formulaire
var form = document.forms[0];

//Si tu en as plusieurs, qui sont définis par un nom
var form = document.nomFormulaire;

for(var i = 0; i < form.length; i++){
form.elements[i].disabled = true; --->> REMPLACER PAR : form.elements[i].readOnly = false/true; (attention aux majuscules...)
}
}

Répondre à Wamy

3

Wamy, le 22 jan 2008 à 14:39:27

J'pense que je pouvai pas mettre le message en résolu, puisque j'n'étai pas membre.
Maintenant inscrit sur CCM, j'ai l'option, alors ....HOP..résolou !
Wamy

Répondre à Wamy

4

 Xil, le 22 jan 2008 à 15:16:41

Effectivement, selon l'utilisation, readonly est peut-être plus approprié.

Dans mes souvenirs, un champ désactivé (disabled) ne génère pas de variable POST PHP, ca peut donc faire des erreurs.

Petit détail : un champ en readonly n'est visuellement pas reconnaissable, la couleur n'est pas modifiée (blanche ou définie en CSS)
Il est donc judicieux, et pratique pour l'utilisateur, de la modifier. Par exemple, en gris clair:

 form.elements[i].style.backgroundColor = '#CCC';


Ceci modifie uniquement la couleur de fond et non la couleur du texte, il reste donc lisible. Puis les couleurs sont au choix ;)

Voila, c'était juste un petit complément d'informations ;)

Répondre à Xil