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

  FORUM HardWare.fr
  Programmation
  HTML/CSS

  [Réglé][JavaScript] Erreur 'Object expected'

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[Réglé][JavaScript] Erreur 'Object expected'

n°1756378
dabourn
Posté le 07-07-2008 à 15:49:43  profilanswer
 

Bonjour, :)
 
j'ai cherché pdt des heures sur google, et je n'ai pas trouvé alors je me permet de vous demander de l'aide.
Pour apprendre 1 peu l'ajax, j'ai fait un petit formulaire qui recherche dans une base de donnée mysql, voici le code javascript/html :

Code :
  1. <html>
  2. <head>
  3.  <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
  4.  <title>Ajax TMF Stats</title>
  5.  <script type="text/JavaScript">
  6.  function getXhr(){
  7.   var xhr = null
  8.   if(window.XMLHttpRequest) xhr = new XMLHttpRequest();
  9.   else if(window.ActiveXObject){
  10.    try {
  11.     xhr = new ActiveXObject("Msxml2.XMLHTTP" );
  12.     }
  13.    catch (e) {
  14.     xhr = new ActiveXObject("Microsoft.XMLHTTP" );
  15.           }
  16.    }
  17.    else {
  18.       alert("Votre navigateur ne supporte pas les objets XMLHTTPRequest..." );
  19.       xhr = false;
  20.    }
  21.            
  22.   return xhr
  23.   }
  24.  function xhr_send(div_id){
  25.  var xhr = getXhr()
  26.         xhr.onreadystatechange = function(){
  27.                                
  28.                 if(xhr.readyState == 2 || xhr.readyState == 3)               
  29.                 {                                       
  30.                         document.getElementById(div_id).innerHTML = '<img src="load.gif" />';
  31.                 }
  32.                 else if(xhr.readyState == 4 && xhr.status == 200)
  33.                 {
  34.                         document.getElementById(div_id).innerHTML = xhr.responseText;
  35.                 }
  36.         }
  37.  function search(page, ordre, sens) {
  38.    xhr_send(listet);
  39.          var login = document.getElementById("login" ).value;
  40.         
  41.    xhr.open("POST","liste.php?login="+login+"&p="+page+"&ordre="+ordre+,true);
  42.          xhr.send(null);
  43.  }
  44.  function detail(pid) {
  45.          var xhr = getXhr();
  46.          xhr_send(detail);
  47.                         
  48.          xhr.open("POST","liste.php?id="+pid,true);
  49.          xhr.send(null);
  50.  }
  51.  </script>
  52. </head>
  53. <body>
  54. Vérifie si un joeur existe :<br />
  55. <input type="text" id="login" value="Login du joueurs" OnFocus="javascript:this.value=''" OnKeyUp='search("","","" )' /><br /><br />
  56. <div id="test_1" align="left"></div><br />
  57. <div align="center" id="listet"></div><br />
  58. <div align="left" id="detail"></div>
  59. </body>


Dès la première lettre que je tape, j'ai une erreur sur ie, 'Object expected' a la ligne 60 qui correspond au :

Code :
  1. <input type="text" id="login" value="Login du joueurs" OnFocus="javascript:this.value=''" OnKeyUp='search("","","" )' />


 
Quelqu'un pourriat m'aider svp ?  
 
Merci :)


Message édité par dabourn le 08-07-2008 à 08:42:44
mood
Publicité
Posté le 07-07-2008 à 15:49:43  profilanswer
 

n°1756416
bul3
Posté le 07-07-2008 à 16:33:31  profilanswer
 

bonjour,
 
sans préjuger du reste :
 
} manque
   à la fin de function xhr_send
+ en trop  drrière +ordre
   xhr.open("POST","liste.php/?login="+login+"&p="+page+"&ordre="+ordre,true);  
xhr devrait être une variable globale à priori tel que tu fais
   or var xhr dans plusieurs fonctions... donc locale
...
peut-être pas tout vu ?
 
mais quand on développe :

•————————•——————————————————————————————————————————————————————————•
|FireFox |regarder la "console d'erreurs"                           |
|        | Outils / Console d'erreurs                               |
|        |                          et mieux, : télécharger FireBug |
•————————•——————————————————————————————————————————————————————————•
|Internet|activer le deboggage : Outils/options Internet/Avancés    |
|Explorer| dans la liste, sous "Navigation" : décocher              |
|        | o Afficher une notification de chaque erreur de script   |
|        | o Désactiver le débogage de Scripts (Internet Explorer)  |
|        |                  et mieux,  : télécharger le Debogger IE |
|        |                  voir aussi : DebugBar et Companion JS   |
•————————•——————————————————————————————————————————————————————————•
|K-Meleon|regarder la "console d'erreurs"                           |
|        | Outils / Console d'erreurs                               |
•————————•——————————————————————————————————————————————————————————•
|Opera   |regarder la "console d'erreurs"                           |
|        | Outils / Avancé / Console d'erreurs                      |
•————————•——————————————————————————————————————————————————————————•
|Safari  |regarder Debug / Show JavaScript Console                  |
|        | ° modifier Fichier Preferences.plist  situé dans le      |
|        | répertoire : Support:\Documents and Settings\utilisateur |
|        |                \Application Data\Apple Computer\Safari\  |
|        |   y ajouter    <key>IncludeDebugMenu</key>               |
|        |                <true/>                                   |
•————————•——————————————————————————————————————————————————————————•
 


 
cordialement.
 
EDIT : j'ai vu aussi que tu gérais en asynchrone et que tu n'attendais pas
la réponse avec ajax [  xhr.open("POST","liste.php?login="+login+"&p="+page+"&ordre="+ordre+,true); ]
utilises onreadystate ou met en synchrone
 
et entre nous, je ne sais pas si bien de faire appel au  
serveur à chaque touche pressée.


Message édité par bul3 le 07-07-2008 à 16:52:58

---------------
[mon site] [m'écrire]
n°1756432
dabourn
Posté le 07-07-2008 à 17:10:14  profilanswer
 

excuse, moi je n'ai pas trop compris ta première partie de réponse, sinon merci pour le débugger firefox :)
 
pour l'asynchrone mais la réponse je la gère avec la fonction xhr_send que j'ai crée
 
mais pour le mettre en global comment je fais ? global xhr ? Merci :)

n°1756649
bul3
Posté le 08-07-2008 à 05:31:48  profilanswer
 


>>pas compris le début ?
° il te manque une } dans la fonction
   compte les { et les }, non équilibrés.
° un + derrière ordre en trop
   xhr.open("POST","liste.php?login="+login+"&p="+page+"&ordre="+ordre+,true);  
°  en n'assurant pas qu'il n'y a pas d'autres choses
 
>>je la gère avec la fonction xhr_send  
j'avais pas vu... mais tu l'appelles plusieurs fois ?
 
>>pour le mettre en global comment je fais  
var xhr;     en dehors de toute function,
et dans les function enlever ler var.
 
 
je disais aussi que ce n'était pas sûr que ce soit une bonne idée
d'appeler le seveur à chque fois qu'on appuie sur une touche.
et tu as pensé : 2 utlisateurs , le 1er s'appele 'JEAN', le 2ème 'JEAN3' ?
 
Cordialement.


---------------
[mon site] [m'écrire]
n°1756674
dabourn
Posté le 08-07-2008 à 08:42:00  profilanswer
 

Alors merci beaucoups pour ton aide, hier soir j'ai pas eu le temps de répondre, j'ai réussi à faire marcher mon script, en effet l'accolade manquait., en fait ie m'indiquait une mauvaise erreur, donc je cherchais une mauvaise erreur.
 
Sinon, pour le onkeyup, c'est un truc perso c'était pour un test, donc je m'enfous du nombre de requetes.
 
merci beaucoups pour le débuggage avec firefox , il est top je trouve, bcps mieux qu'ie !


Message édité par dabourn le 08-07-2008 à 08:42:25

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

  [Réglé][JavaScript] Erreur 'Object expected'

 

Sujets relatifs
[JSF]erreur No Converter for type java.util.Date founderreur de codage
AutoIt3 - affichage fenêtre et sortie d'erreurJavascript Compter les tags "td"
Activer javascript lors d'une combinaison de touches[Réglé] ip:port en char traduire en decimal. master query
[Réglé] [VB.net] Diff entre Dim variable et Dim variable() ?[Réglé] description et select attaché
Pb Erreur changer MDP Admin local via domain [RESOLU][Réglé] caractères possible sans risque
Plus de sujets relatifs à : [Réglé][JavaScript] Erreur 'Object expected'


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