Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1562 connectés 

  FORUM HardWare.fr
  Programmation
  HTML/CSS

  Pb Ajax/Javascript

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Pb Ajax/Javascript

n°1476785
sylvain011​3
Posté le 16-11-2006 à 19:32:25  profilanswer
 

Bonsoir à tous!
Je ne sais plus quoi faire...
J'essaie de vérifier avec AJAX, un formulaire.
J'aimerai que au fur et à mesure que l'utilisateur tape son adresse mail, un message s'affiche (si c'est bon ou pas..)
 
seulement mon GetElementById me dit que "mail_verif has no propertie" ...
Je ne comprend pas pourquoi.. [confus]  
Si vous avez une solution, merci d'avance parce que là je galère lol

Code :
  1. <html>
  2. <head>
  3. <script language="javascript">
  4. function file(fichier)
  5. {
  6. if(window.XMLHttpRequest) // FIREFOX
  7. xhr_object = new XMLHttpRequest();
  8. else if(window.ActiveXObject) // IE
  9. xhr_object = new ActiveXObject("Microsoft.XMLHTTP" );
  10. else
  11. return(false);
  12. xhr_object.open("GET", fichier, true);
  13. xhr_object.send(null);
  14. if(xhr_object.readyState == 4) return(xhr_object.responseText);
  15. else return(false);
  16. }
  17. function verif_mail(mail)
  18. {
  19.     if (mail != '')
  20.     {
  21.         var texte = file("ajax.php" );
  22.        
  23.             if (texte == 1)
  24.             {   
  25.                 writediv('<span style="color:#cc0000"><b>'+mail+'</b> est invalide</span>');
  26.                 document.write("coucou1" ) ;
  27.             }
  28.             else if(texte == 2)
  29.             {
  30.                 writediv('<span style="color:#cc0000"><b>'+mail+'</b> est valide</span>');
  31.                  document.write("coucou2" ) ;
  32.             }
  33.             else
  34.             {
  35.                  document.write("coucou3" ) ;
  36.                 writediv('');
  37.             }
  38.        
  39.     }
  40. }
  41. function writediv(texte)
  42. {
  43. document.getElementById('mail_verif').innerHTML = texte;
  44. }
  45. </script>
  46. </head>
  47. <body>
  48. <form action="" method="post">
  49. Adresse Mail<br/>
  50. <input type="text" name="mail" onKeyUp="verif_mail(this.value)"> <br/><div id="mail_verif"></div><br/> <br/>
  51. </form>
  52. </body>
  53. </html>


 
 
et dans Ajax.php

Code :
  1. <script language="javascript">
  2. function vmail(mail){
  3.    // l'adresse minimum est xx@yy.zz
  4.    var point=mail.value.lastIndexOf('.');
  5.    // La position du dernier point de l'adresse email
  6.    var arob=mail.value.lastIndexOf('@');
  7.    // La position du dernier @ de l'adresse email
  8.    var longu=mail.value.length;
  9. // La longueur de l'adresse
  10. if((longu-point < 3) || (longu-arob) < 6 || arob > point || point == -1 || arob == -1){
  11.    // Si le point se trouve a moins de 2 caractères de la fin
  12.    // ou si l'arobase se trouve a moins de 5 caractères de la fin
  13.    // ou si il n'y a pas de point après @
  14.    // ou si il n'y a pas de point ou pas de @
  15.    document.write("1" );
  16.  
  17. }else{
  18.      document.write("2" );
  19.  
  20. }
  21. }
  22. </script>

mood
Publicité
Posté le 16-11-2006 à 19:32:25  profilanswer
 

n°1476971
sigmar_
Posté le 17-11-2006 à 09:05:37  profilanswer
 

Salut,
 
Pourquoi nommes-tu ton fichier javascript .php? ca devrait être du code php dedans, non?
Je ne suis pas sur de ca mais je crois que le code de ce fichier n'est pas interpreté, il te renvoie tout le code si tu veux.
La fonction document.write te supprime alors tout le code dans ton navigateur, la div mail_verif y compris, et donc elle n'existe plus quand tu fais ton getElementById, d'ou l'erreur que tu vois.
 
Pour debugger c'est plus simple que tu crées une div id="debug" et que tu passes tes messages de debug par un document.getElementById('debug').innerHTML = '', parce que document.write t'efface tout ton document.
 
 

n°1477216
gatsu35
Blablaté par Harko
Posté le 17-11-2006 à 11:53:39  profilanswer
 

faudrait arreter la drogue [:petrus75]
tu ne vas pas faire une requete "Ajax" à chaque fois que le mec a tapé une lettre, c'est incensé :/
surtout pour verifier un mail, autant le faire en JS.
Il vaut mieux valider un form en JS avant l'envoi et apres l'envoi le valider en php. mais faire tout en php via ajax est stupide

n°1477683
sigmar_
Posté le 17-11-2006 à 23:57:17  profilanswer
 

gatsu35 a écrit :

tu ne vas pas faire une requete "Ajax" à chaque fois que le mec a tapé une lettre, c'est incensé :/


Google le fait bien ;) même si c'est pour une application plus utile, je l'admets. ( http://www.google.com/webhp?complete=1 )

n°1477685
0x90
Posté le 18-11-2006 à 00:07:57  profilanswer
 

sigmar_ a écrit :

Google le fait bien ;) même si c'est pour une application plus utile, je l'admets. ( http://www.google.com/webhp?complete=1 )


 
Google ils ont pas les même serveurs que tout le monde aussi  [:0x90]


Message édité par 0x90 le 18-11-2006 à 00:08:06
n°1477739
astero-H
Posté le 18-11-2006 à 12:57:38  profilanswer
 

A ce que je sais de google ils ont un timer, c'est pas sur onkeyup...
 
Au passage... hmmm... quelle idée farfelue, faire de l'XmlHttp pour verifier une adresse email... LOL
 
if (input.value.search(/^[a-z0-9_\.\-]+@[a-z0-9_\.\-]+\.[a-z]{3}$/i) == -1) // invalide
 
au pif... les expressions rationelles c'est bien aussi :)


Message édité par astero-H le 18-11-2006 à 13:00:33
n°1477749
gatsu35
Blablaté par Harko
Posté le 18-11-2006 à 13:30:16  profilanswer
 

ta regexp ne match pas tout et un mail comme truc@truc.gouv.fr l'aura dans le cul
meme avec un domaine comme louvre.museum.
Voila une petite regexp qui est plus que correct malhereusement elle ne matche pas les adresses ip mail@123.123.133.122
et pour tester une regexp, je prefere utiliser test ou match
 
if (/^([\w-]+(\.[\w-]+)*@[\w-]{2,}(\.[\w-]+)*\.[a-zA-Z]{2,7})$/.test(input.value))
OU
if (input.value.match(/^([\w-]+(\.[\w-]+)*@[\w-]{2,}(\.[\w-]+)*\.[a-zA-Z]{2,7})$/))

n°1477819
astero-H
Posté le 18-11-2006 à 16:34:45  profilanswer
 

oui mais bon c'était juste pour l'exemple, par pour être juste :)
 
ça fait longtemps que j'ai plus eu besoin de ces conneries... maintenant je suis sous .net :love:  

Message cité 1 fois
Message édité par astero-H le 18-11-2006 à 16:36:19
n°1477830
gatsu35
Blablaté par Harko
Posté le 18-11-2006 à 17:42:42  profilanswer
 

astero-H a écrit :

oui mais bon c'était juste pour l'exemple, par pour être juste :)
 
ça fait longtemps que j'ai plus eu besoin de ces conneries... maintenant je suis sous .net :love:


Sauf que .net c'est de la merde en barre pour faire du web.
 
.Net génère un paquet immonde de merdasse quand on utilisent leurs webforms

n°1478015
astero-H
Posté le 19-11-2006 à 10:21:47  profilanswer
 

lol... troll moisi... :sarcastic:  
 
même si ça vaut pas trop le coup de répondre à ça je dirais que tu devrais essayer de voir plus loin que le bout de ton nez... ces technos sont pas une exclusivité d'internet...
 
 :hello:  

mood
Publicité
Posté le 19-11-2006 à 10:21:47  profilanswer
 

n°1478026
gatsu35
Blablaté par Harko
Posté le 19-11-2006 à 11:29:36  profilanswer
 

oui je sais, mais ASP.net dans sa base génère du code HTML qui ne répond pas aux standards.
Je ne cherche pas à troller, mais j"evite d'utiliser les outils tous faits de .NET.
 
La derniere fois que j'ai maquetté un site en xHTML/CSS tout propre, l'ingé qui l'a intégré en .NET a  utilisé quelques composants de .NET.
Résultat simple :  
Sous IE, j'avais un DIV qui englobait mon contenu
sous FF, j'avais un tableau.
 
Ce con de .NET fouillait le user Agent pour detecter le Navigateur et genere le html en fonction [:le kneu]


Message édité par gatsu35 le 19-11-2006 à 11:29:47

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  HTML/CSS

  Pb Ajax/Javascript

 

Sujets relatifs
Ajax : difficultés sur le mode asynchronejavascript lien favorie souligné.
Instruction Javascript permettant de désactiver le javascriptMéthodes de Document de javascript
[Javascript - PHP]Simulation de threads en javascript
AJAX - Taille maximale de retourFonction javascript click() incompatible avec Mozilla
[Javascript/PHP] Ouverture d'un popup dynamique 
Plus de sujets relatifs à : Pb Ajax/Javascript


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR