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

jQuery Discussion :

Syntax error avec jQuery


Sujet :

jQuery

Vue hybride

Message pr�c�dent Message pr�c�dent   Message suivant Message suivant
  1. #1
    Membre confirm�
    Profil pro
    Inscrit en
    Mai 2009
    Messages
    115
    D�tails du profil
    Informations personnelles :
    Localisation : France, Savoie (Rh�ne Alpes)

    Informations forums :
    Inscription : Mai 2009
    Messages : 115
    Par d�faut Syntax error avec jQuery
    Bonjour,

    Je commence par vous donner 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
    14
    15
    16
    17
    18
    19
    20
    21
    22
     
    manager = {	
    	getFunction : function(name, arguements, class) {
    		if(typeof(class) != 'undefined') {
    			if(typeof(arguements) == 'object') {
    				eval(class + '.' + name + '(\'' + arguements + '\')');
    				return;
    			}
     
    			eval(class + '.' + name+ '()');
    			return;
    		}
     
    		if(typeof(class) != 'undefined') {
    			eval(name + '(' + arguements + ')');
    			return;
    		}
     
    		eval(name + '()');
    		return;
    	},
    }
    La classe pr�c�dente avec le m�thode "getFunction" permet de cr�er des fonctions "dynamiquement". D'ailleurs elle reste � am�liorer car j'utilise abusivement eval(). Si vous avez une id�e ? .

    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
     
    actions = {
    	closeButton : function(el) {
    		alert($(el).html());
    	},
    }
    La classe pr�c�dente, quant � elle, regroupe plusieurs fonctions donc dans cette exemple "closeButton".

    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    		$('*').live('click', function() {
    			if($(this).attr('class') != '') {
    				var el = $(this);
    				manager.getFunction('closeButton', el, 'actions');
    			}
     
    			return false;
    		});
    Avec le code pr�c�dent, que j'ai simplifi�, je cr�er une nouvelle fonction. J'arrive � obtenir la fonction avec en argument la variable "el" qui de coule de la ligne pr�c�dente.

    Dans la fonction appel�e (closeButton), je fait un "alert($(el).html());" mais j'ai l'erreur suivante :

    "uncaught exception: Syntax error, unrecognized expression: [object Object]"
    Pouvez-vous m'aider un peu car je ne vois pas pourquoi �a plante. De plus je ne suis pas encore assez bon en JS et accessoirement jQuery.

    Merci,
    Bien cordialement.

  2. #2
    R�dacteur

    Avatar de Bovino
    Homme Profil pro
    D�veloppeur Web
    Inscrit en
    Juin 2008
    Messages
    23 647
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 55
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activit� : D�veloppeur Web
    Secteur : High Tech - �diteur de logiciels

    Informations forums :
    Inscription : Juin 2008
    Messages : 23 647
    Billets dans le blog
    20
    Par d�faut
    Salut,

    Ne pas utiliser les mots r�serv�s (genre class) ou des mots appartenant � la syntaxe de JavaScript (genre name) pour nommer tes variables, param�tres etc. pourra probablement t'aider !
    Pas de question technique par MP !
    Tout le monde peut participer � developpez.com, vous avez une id�e, contactez-moi !
    Mes formations video2brain : La formation compl�te sur JavaScriptJavaScript et le DOM par la pratiquePHP 5 et MySQL : les fondamentaux
    Mon livre sur jQuery
    Module Firefox / Chrome d'int�gration de JSFiddle et CodePen sur le forum

  3. #3
    Membre confirm�
    Profil pro
    Inscrit en
    Mai 2009
    Messages
    115
    D�tails du profil
    Informations personnelles :
    Localisation : France, Savoie (Rh�ne Alpes)

    Informations forums :
    Inscription : Mai 2009
    Messages : 115
    Par d�faut
    Merci des conseils que j'ai d'ailleurs appliqu� tout de suite, voici donc la nouvelle fonction getFunction (qui est un peu diff�rente depuis le deuxi�me "if(typeof(arg) != 'object') " ):

    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
     
    manager = {	
    	getFunction : function(actName, arg, clName) {
    		if(typeof(clName) != 'undefined') {
    			if(typeof(arg) == 'object') {
    				eval(clName + '.' + actName + '(\'' + arg + '\')');
    				return;
    			}
     
    			eval(clName + '.' + actName + '()');
    			return;
    		}
     
    		if(typeof(arg) != 'object') {
    			eval(actName + '(\'' + arg + '\')');
    			return;
    		}
     
    		eval(actName + '()');
    		return;
    	},
    }
    Mais cela n'a pas encore r�solu mon probl�me. Peu �tre est-ce � cause de eval() ?

  4. #4
    Membre confirm�
    Profil pro
    Inscrit en
    Mai 2009
    Messages
    115
    D�tails du profil
    Informations personnelles :
    Localisation : France, Savoie (Rh�ne Alpes)

    Informations forums :
    Inscription : Mai 2009
    Messages : 115
    Par d�faut
    Voila la suite de mes teste et je pense que ca vient de la fonction eval(). Voici une variante de la fonction getFunction :

    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
     
    	getFunction : function(actName, arg, clName) {
    		switch(clName) {
    			case 'actions':
    				switch(actName) {
    					case 'closeButton':	
    						actions.closeButton(arg);
    						break;
    					case 'wdw':	
    						actions.wdw();
    						break;
    				}
    				break;
    		}
    	}
    Dans ce cas, il n'y aucune erreur. Par contre je souhaite �viter de faire appel � la fonction switch en cascade. De plus je risque d'avoir une quantit� importante de fonctions dans dans des classes diff�rentes.

    Pouvez-vous m'aider sur ce point ?

    Merci

  5. #5
    R�dacteur

    Avatar de danielhagnoul
    Homme Profil pro
    �tudiant perp�tuel
    Inscrit en
    F�vrier 2009
    Messages
    6 389
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 75
    Localisation : Belgique

    Informations professionnelles :
    Activit� : �tudiant perp�tuel
    Secteur : Enseignement

    Informations forums :
    Inscription : F�vrier 2009
    Messages : 6 389
    Billets dans le blog
    125
    Par d�faut
    Bonjour.

    Si : Alors : D�tail :
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    if($(this).hasClass('class')) {

    Blog

    Sans l'analyse et la conception, la programmation est l'art d'ajouter des bogues � un fichier texte vide.
    (Louis Srygley : Without requirements or design, programming is the art of adding bugs to an empty text file.)

  6. #6
    Membre confirm�
    Profil pro
    Inscrit en
    Mai 2009
    Messages
    115
    D�tails du profil
    Informations personnelles :
    Localisation : France, Savoie (Rh�ne Alpes)

    Informations forums :
    Inscription : Mai 2009
    Messages : 115
    Par d�faut
    Bonjour danielhagnoul,

    Je n'ai pas tr�s bien compris ce que tu m'a donn� comme solution, mais je pense avoir trouv� comme optimiser la fonction geFunction() sans eval
    voila un exemple :

    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    7
    8
     
    window["test"]["bibi"]()
     
    test = {
    	bibi : function() {
    		alert('')	
    	}
    }
    Il n'y a plus qu'a mettre des variable a la place de test et bibi. Encore merci pour vos aides.

+ R�pondre � la discussion
Cette discussion est r�solue.

Discussions similaires

  1. Eclipse pense � une syntax error avec un typedef opaque
    Par Gui13 dans le forum Eclipse C & C++
    R�ponses: 6
    Dernier message: 27/10/2009, 14h32
  2. Syntax error avec un script KSH
    Par Neuromancien2 dans le forum Shell et commandes GNU
    R�ponses: 1
    Dernier message: 19/05/2008, 16h44
  3. R�ponses: 6
    Dernier message: 19/05/2008, 12h28
  4. VBS syntax error avec la fonction PivotCache d'Excel
    Par speedking78 dans le forum Macros et VBA Excel
    R�ponses: 4
    Dernier message: 28/02/2008, 14h44
  5. "vector" provoque "syntax error", malgr�
    Par seenkay dans le forum Autres �diteurs
    R�ponses: 5
    Dernier message: 24/08/2003, 03h21

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