Désactivé formulaire.
Résolu
Wamy
-
Steeevec Messages postés 2 Date d'inscription Statut Membre Dernière intervention -
Steeevec Messages postés 2 Date d'inscription Statut Membre Dernière intervention -
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
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
A voir également:
- Désactivé formulaire.
- Whatsapp formulaire opposition - Guide
- Formulaire de réclamation facebook compte désactivé - Guide
- Pave tactile desactive - Guide
- Formulaire instagram compte desactive - Guide
- Compte facebook piraté et désactivé - Guide
6 réponses
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
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...)
}
}
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...)
}
}
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:
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 ;)
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 ;)
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 !
Maintenant inscrit sur CCM, j'ai l'option, alors ....HOP..résolou !
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Si vos champs de formulaire flottent en dehors d'un formulaire (par maj auto en javascript par exemple), il y a ce scripte ressemblant:
<script type="text/javascript"> function disableForm() { var inputs = document.getElementsByTagName("input"); for (var i = 0; i < inputs.length; i++) { inputs[i].disabled = true; } var selects = document.getElementsByTagName("select"); for (var i = 0; i < selects.length; i++) { selects[i].disabled = true; } var textareas = document.getElementsByTagName("textarea"); for (var i = 0; i < textareas.length; i++) { textareas[i].disabled = true; } var buttons = document.getElementsByTagName("button"); for (var i = 0; i < buttons.length; i++) { buttons[i].disabled = true; } } disableForm(); </script>
Et en grisant le fond comme suggeré par Xil
<script type="text/javascript"> function disableForm() { var inputs = document.getElementsByTagName("input"); for (var i = 0; i < inputs.length; i++) { inputs[i].disabled = true; inputs[i].style.backgroundColor = '#d8d8d8'; } var selects = document.getElementsByTagName("select"); for (var i = 0; i < selects.length; i++) { selects[i].disabled = true; inputs[i].style.backgroundColor = '#d8d8d8'; } var textareas = document.getElementsByTagName("textarea"); for (var i = 0; i < textareas.length; i++) { textareas[i].disabled = true; inputs[i].style.backgroundColor = '#d8d8d8'; } var buttons = document.getElementsByTagName("button"); for (var i = 0; i < buttons.length; i++) { buttons[i].disabled = true; inputs[i].style.backgroundColor = '#d8d8d8'; } } disableForm(); </script>