Cacher un formulaire

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : Cacher un formulaire

par charabia » 31 mai 2006, 10:42

Sinon juste un truc que je trouve original dans le code trouvé par Charabia :

Code : Tout sélectionner

objControle.disabled=(objControleur.checked==true)?false:true;
Soit : Si "vrai" est "vrai" alors "faux" sinon "vrai" :)

Code : Tout sélectionner

objControle.disabled=!objControleur.checked;
C'est quand même plus simple comme ça ;)
Je suis innocent m'sieur ! :langue:

par Ryle » 31 mai 2006, 10:38

Tu peux aussi jouer sur le style "display" (none/bloc/inline) au lieu de "visibility" (hidden/visible).

La différence étant que visibility masque simplement l'objet mais conserve l'espace qu'il occupe dans la page html, tandis que display le supprime de l'affichage (donc pas de trou :))

Sinon juste un truc que je trouve original dans le code trouvé par Charabia :

Code : Tout sélectionner

objControle.disabled=(objControleur.checked==true)?false:true;
Soit : Si "vrai" est "vrai" alors "faux" sinon "vrai" :)

Code : Tout sélectionner

objControle.disabled=!objControleur.checked;
C'est quand même plus simple comme ça ;)

par azerty53 » 31 mai 2006, 10:17

d'accord merci,

c'est bien ce qui me semblait

bonne journée^^

par charabia » 31 mai 2006, 10:15

Exemple d'activation ou de masquage à partir d'un bouton radio (javascript), vu sur éditeurjavascript.

Code : Tout sélectionner

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <title>Désactivation / Masquage</title> <script language="Javascript"> // ================== // Activations - Désactivations // ================== function GereControle(Controleur, Controle, Masquer) { var objControleur = document.getElementById(Controleur); var objControle = document.getElementById(Controle); if (Masquer=='1') objControle.style.visibility=(objControleur.checked==true)?'visible':'hidden'; else objControle.disabled=(objControleur.checked==true)?false:true; return true; } </script> </head> <body> Exemples de désactivations :<br /><br /> <form> <input type="checkbox" id="chkb_1" onClick="GereControle('chkb_1', 'texte_1', '0');" CHECKED>&nbsp;<label for="chkb_1">Contrôle de "texte_1"</label>&nbsp;<input type="text" id="texte_1" value="Contenu de texte_1"> <br /><br /> <input type="radio" id="radio_1" name="radios" onClick="GereControle('radio_1', 'liste_1', '0');" CHECKED>&nbsp;<label for="radio_1">Active de "liste_1"</label> <br /> <input type="radio" id="radio_2" name="radios" onClick="GereControle('radio_1', 'liste_1', '0');">&nbsp;<label for="radio_2">Désactive de "liste_1"</label> <select id="liste_1"> <option value="1">Ligne 1</option> <option value="2">Ligne 2</option> <option value="3">Ligne 3</option> </select> <p>&nbsp;</p> Exemples de masquage :<br /><br /> <input type="checkbox" id="chkb_10" onClick="GereControle('chkb_10', 'texte_10', '1');" CHECKED>&nbsp;<label for="chkb_10">Contrôle de "texte_10"</label><input type="text" id="texte_10" value="Contenu de texte_10"> <br /><br /> <input type="radio" id="radio_10" name="radios_0" onClick="GereControle('radio_10', 'liste_10', '1');" CHECKED>&nbsp;<label for="radio_10">Active de "liste_10"</label> <br /> <input type="radio" id="radio_20" name="radios_0" onClick="GereControle('radio_10', 'liste_10', '1');">&nbsp;<label for="radio_20">Désactive de "liste_10"</label> <select id="liste_10"> <option value="1">Ligne 1</option> <option value="2">Ligne 2</option> <option value="3">Ligne 3</option> </select> </form> </body> </html>

par guilt92 » 31 mai 2006, 10:10

Il y a comme moyen de jouer sur l'attribut readonly de ton file, que tu peux mettre à "true" tant que la case n'est pas cochée ce qui empechera l'utilisateur de selectionner un fichier, puis à false lorsque la case est cochée.

Néanmoins pour faire cela dynamiquement il faut utiliser le Javascript, car en php cela nécessiterai un rechargement (refresh) de la page provoqué par l'utilisateur (en php) ou dynamiquement lorsque le statut de la case a cocher change (en javascript).

De la même manière au lieu de jouer sur l'attribut readonly tu peux mettre ton input dans une <div> cachée (visible:none) tant que la case n'est pas cochée et qui apparait lorsqu elle est cochée, mais encore une fois c'est du javascript.

Cacher un formulaire

par azerty53 » 31 mai 2006, 10:05

Bonjour,
voici mon cas.

j'ai une case a cocher et un input de type file.

je souhaiterai savoir si il est possible de cacher le champ input de type file tant que la case n'a pas été cochée.

Merci

Bonne journée