probleme avec manipulatin de formulaire et js

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 : probleme avec manipulatin de formulaire et js

par Invité » 03 juil. 2006, 09:33

bonne idee :) ca a l'avantage d'etre plus propre comme approche :)

par Ryle » 01 juil. 2006, 15:50

Ca me parait effectivement très hasardeux comme méthode... j'imagine mal que l'on puisse transformer un champ texte en checkbox à la volée sans que le navigateur ne fasse une attaque :)

A la limite ce que tu pourrais envisager c'est de mette deux champs, un text et un password en masquant le second (style="display:none") et lors du focus sur le champ texte, basculer en le faisant disparaitre et en faisant apparaitre celui protégé en lui collant le focus...

Sinon tu garde la description des champs dehors et tu utilises juste des champs plus petits ;)

par Invité » 01 juil. 2006, 07:49

En fait je voulait ecrire a l'interieur des champs par default des balises input le nom des champs pour economiser de l'espace, comme le champs des balises de type password est masque il me fallait trouver un moyen pour les demasquer pour l'application de la methode reset sur le formulaire.
Apres quelques recherche :
- Le changement de type des balises password en txt en JS ne passe pas bien sur IE (provoque une erreur) mais passe bien sur netscape.
- Lorsque on applique la methode onselect sur les balises input password et qu'on clique comme un malade sur la balise cela fait planter netscape

Donc il me faut detecter le navigateur et l'appliquer le changement de type seulement pour les utilisateur de netscape et il ne faut pas utiliser la methode onselect sur les champs de type password.
Ca donne des champs de formulaire dans lesquels apparaissent les nom des champs par default et au reset avec effacement du champs passoword avec un onfocus et des champs text dans un onselect (ou un doubleclick)

Code : Tout sélectionner

<script language="Javascript"> function changertype(objet) { if ((objet.type=="password")&&(window.navigator.appName!="Microsoft Internet Explorer")) objet.type="text"; } </script> <form name="formulaire" method="post" action="page.html"> <input type="text" name="loging" value="loging" onselect="this.value='';" onclick=""> <input type="password" name="password" value="password" onfocus="this.value='';" onclick=""> <input type="reset" value="effacer" name="reinit" onclick="changertype(document.formulaire.password);"> </form>
PS si vous avez des solutions plus efficaces du genre qui s'applique a des formulaire en general plutot qu'a un formulaire je suis preneur

par Truc » 30 juin 2006, 22:01

Salut,

Sur un champ de type texte on utilise de préférence onfocus au lieu de onclick.

Pour le plaisir peux tu nous expliquer l'interet de faire ça ?

sinon le "reset" remet à zéro le "contenu" des champs pas le type. Si tu veux ré-initialiser le type ajoute l'action de cgangement de type sur le type "reset".
Jamais testé de changer ces deux types de champ non plus donc effet non garanti.

probleme avec manipulatin de formulaire et js

par cortex007 » 30 juin 2006, 08:23

bonjour, j'ai un probleme avec la manipulation des types et valeurs de balises de formulaire
j'arrive pas a passer une balise input du type "password" vers le type "text", pour vous
permettre d'avoir une meilleur visibilite du probleme je vous montre un bout de code

Code : Tout sélectionner

<form name="formulaire" method="post" action="page.html"> <input type="text" name="loging" value="loging" onclick="this.value='';" onselect="this.value='';"> <input type="text" name="password" value="password" onclick="this.value='';this.type='password';" onselect="this.value='';this.type='password';"> <input type="reset" value="effacer" name="reinit"> </form>
avec IE j'ai une erreur au niveau du changement de type.
avec IE et firefox la reinitialisation de formulaire ne redonne pas les types initiaux,
si le type a ete modifie de "text" a "password" il reste a password
Merci pour vos lumieres :)