Comment compléter ce javascript ?

Comment compléter ce javascript ? - HTML/CSS - Programmation

Marsh Posté le 05-03-2008 à 19:20:16    

Bonjour,
 
J'utilise le javascript suivant pour un formulaire de saisie d'adresse email.
 
Je voudrais le compléter et n'autoriser que la saisie de lettre et de chiffres car actuellement on peut saisir des caractères comme #]} par exemple.
 
Comment dois-je procéder  [:abnocte invictus]  
 
Merci pour vos conseils  
 

Code :
  1. <script type="text/JavaScript">
  2. <!--
  3. function MM_findObj(n, d) { //v4.01
  4.   var p,i,x;  if(!d) d=document; if((p=n.indexOf("?" ))>0&&parent.frames.length) {
  5.     d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
  6.   if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
  7.   for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document);
  8.   if(!x && d.getElementById) x=d.getElementById(n); return x;
  9. }
  10. function MM_validateForm() { //v4.0
  11.   var i,p,q,nm,test,num,min,max,errors='',args=MM_validateForm.arguments;
  12.   for (i=0; i<(args.length-2); i+=3) { test=args[i+2]; val=MM_findObj(args[i]);
  13.     if (val) { nm=val.name; if ((val=val.value)!="" ) {
  14.       if (test.indexOf('isEmail')!=-1) { p=val.indexOf('@');
  15.         if (p<1 || p==(val.length-1)) errors+='Cette adresse semble incorrecte.\n';
  16.       } } } } if (errors) alert('Veuillez vérifier :\n'+errors);
  17.   document.MM_returnValue = (errors == '');
  18. }
  19. //-->
  20. </script>


Message édité par dexenium le 05-03-2008 à 19:21:26
Reply

Marsh Posté le 05-03-2008 à 19:20:16   

Reply

Marsh Posté le 05-03-2008 à 19:57:11    

Dreamweaver ne te permet il pas de faire ca  :whistle:  
 
 
Alalala, on se fais assister par Dreamweaver, mais des que c'est quelques choses qui sort de l'ordinaire (option non proposé par Dreamweaver), on est dans une impasse  :hello: .  
 
Il va falloir mettre la main de camboui  [:lugubre desespoir] dans ce cas...
 
Pour ce faire je te conseille de te renseigner sur Google sur les expressions regulière et comment les executer en Javascript. Le premier lien proposé par Google est pas mal du tout, il donne sur le site commentcamarche qui explique bien...
 
bonne chance

Reply

Marsh Posté le 05-03-2008 à 21:17:10    

Hein mais à quoi tu vois que ce code est pondu par Dream (car c'est exact... ) ?

Reply

Marsh Posté le 05-03-2008 à 22:59:21    

- toutes les fonctions commencent par MM_
- le code est à chier
- il vaut mieux recoder une fonction plus propre que cette merde

Reply

Marsh Posté le 06-03-2008 à 00:25:33    

Pour repondre à ta question par le nom des fonctions ...
 
Tu m'as bien fais rire Gatsu quand tu dis que le code est à chier :lol: . J'avais pas osé le dire et à vrai dire j'avais pas trop regardé le code ... Mais en y regardant de plus prés c'est pas terrible.
 
D'une part, il est coutume d'aller à la ligne pour chaque instruction (en général apres un ; )  pour rendre plus lisible.
Exemple :  

var p,i,x;  
if(!d)  
   d=document;  
if((p=n.indexOf("?" ))>0&&parent.frames.length) {
     d=parent.frames[n.substring(p+1)].document;  
    n=n.substring(0,p);
}


A une époque, certaines personnes sautaient peu de ligne pour grapiller quelques octets et ainsi  rendre sa page légèrement plus légère ... Admettons que c'etait pour optimiser....
 
Au niveau du code, c'est pas terrible du tout. Je me débrouille un peu en JS mais ton code j'y comprends pas grand chose. Nottamment je ne sais pas ce vient faire layer, de calque pour controler un simple champs. C'est vraiment compliqué ton code pour faire peu de chose. La sur ce coté, je pense que tu as fais fort.
 
A mes début, toutjavascript m'a pas mal aidé...
controle d'un formulaire : http://www.toutjavascript.com/savoir/savoir06.php3
tu as aussi sur le site, une partie qui traite des expression régulière en JS

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed