IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

JavaScript Discussion :

Tableau "has no properties"


Sujet :

JavaScript

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre Expert Avatar de franculo_caoulene
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    2 880
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 2 880
    Par défaut Tableau "has no properties"
    Salut à tous,

    Etant de retour pour quelques mois je me mets doucement à JQuery pour me remettre dans le bain. J'essaye de faire un peu d'AJAX (l'erreur est purement js, je poste donc ici) mais après un peu plus d'un an d'absence je suis un peu rouillé on dirait!

    J'ai apparemment un problème de portée de variable! Selon l'endroit où je place mon alerte de test j'ai soit le résultat attendu, soit
    monTab[20] has no properties
    Voici mon code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    var tabParam = new Array();
    jQuery(document).ready(function() {
    $.get("test.php", {arg1: pm}, function(xml) {
    		$("lbl", xml).each(function(i) {
    			tabParam[i] = new Array();
    			tabParam[i][0] = $(this).attr("id");
    			tabParam[i][1] = $(this).attr("pm1");
    			tabParam[i][2] = $(this).attr("pm2");
    		});
    		//alert(tabParam[20][2]); (1)
    	});
    	//alert(tabParam[20][2]); (2)
    }
    L'alerte (1) fonctionne mais pas la (2). J'ai même essayé de lancer l'alerte dans un setTimeout pour le fun mais j'ai évidemment la même erreur.

    Merci par avance pour votre aide.

  2. #2
    Expert éminent

    Homme Profil pro
    Inscrit en
    Janvier 2007
    Messages
    13 474
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2007
    Messages : 13 474
    Par défaut
    Bonjour,
    besoin de quelques précisions :
    ton code est-il dans une fonction (ou directement dans le <head>) ?
    as-tu le pb uniquement avec tabParam[20][2] (ou avec d'autres/tous les éléments du tableau) ?

    Une autre éventualité : ça peut être un problème lié à la portée de "this", plutôt que du tableau ...

    A+

  3. #3
    Membre Expert Avatar de franculo_caoulene
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    2 880
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 2 880
    Par défaut
    Merci de t'intéresser à mon problème.

    - Ce n'est pas une fonction
    - C'est un problème que j'ai avec tous les éléments, l'indice 20 n'est qu'un test comme un autre
    - Concernant la portée de $(this) c'est intéressant mais
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    alert(typeof(tabParam[20][2])); //(1)
    retourne string, ce qui veut dire, à ce que je comprends, c'est que j'affecte bien la valeur retournée par l'objet au tableau et non pas l'objet lui-même.

  4. #4
    Membre Expert Avatar de franculo_caoulene
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    2 880
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 2 880
    Par défaut
    Ok mea culpa, j'avais oublié le coté asynchrone d'ajax et utilisé une mauvaise syntaxe de setTimeout... Résolu

  5. #5
    Expert éminent

    Homme Profil pro
    Inscrit en
    Janvier 2007
    Messages
    13 474
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2007
    Messages : 13 474
    Par défaut
    Citation Envoyé par franculo_caoulene
    j'avais oublié le coté asynchrone d'ajax
    ... mais optionnel.

    A+

  6. #6
    Membre Expert Avatar de franculo_caoulene
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    2 880
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 2 880
    Par défaut
    Ben je fais de l'ajax et pas du sjax
    je me permets comme tu as mis le message en délestage

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. quote dans fichier properties
    Par totoche dans le forum Servlets/JSP
    Réponses: 7
    Dernier message: 21/04/2010, 22h04
  2. élément de tableau "has no properties"
    Par linar009 dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 24/08/2006, 11h19
  3. document.images[i] has no properties, kesako ?
    Par weed dans le forum Général JavaScript
    Réponses: 6
    Dernier message: 07/10/2005, 17h59
  4. document.getElementById() has no properties ..
    Par ahage4x4 dans le forum Général JavaScript
    Réponses: 8
    Dernier message: 01/06/2005, 17h04

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo