Erreur : SyntaxError: missing ) after argument list
Résolu
Bengt
-
Bengt -
Bengt -
Bonjour,
Après plusieurs minutes de recherches infructueuses, je me permet de venir vous demander de l'aide.
Voilà le soucis, j'exécute une fonction js après un clic sur un lien en lui passant 4 arguments.
Problème, lors de l'exécution, je me retrouve avec cette erreur et je ne trouve pas pourquoi :
Avec une flèche pointant sur En attente sur FireBug ci-dessous :
Voilà les portions de code qui sont concernés !
HTML / PHP :
JS :
Une petite idée ? J'ai raté quelque chose d'hyper évident ? (Il est 9h du matin en même temps :P)
Merci d'avance ! ;)
Après plusieurs minutes de recherches infructueuses, je me permet de venir vous demander de l'aide.
Voilà le soucis, j'exécute une fonction js après un clic sur un lien en lui passant 4 arguments.
Problème, lors de l'exécution, je me retrouve avec cette erreur et je ne trouve pas pourquoi :
SyntaxError: missing ) after argument list
Avec une flèche pointant sur En attente sur FireBug ci-dessous :
js_affiche_edit_Delib(152, 143, En attente, Lancement)
Voilà les portions de code qui sont concernés !
HTML / PHP :
echo("<a href='#' class='button_SearchMore' onclick='js_affiche_edit_Delib(".$deliberation['MODIF_LOT'].", ".$deliberation['NUMERO'].", ".$deliberation['ELIB'].", ".$deliberation['TLIB'].")'>+</a>");
JS :
function js_affiche_edit_Delib(refcourrier_Modiflot, num_Deliberation, etat_Delib, type_Delib) { Exécution du Code }
Une petite idée ? J'ai raté quelque chose d'hyper évident ? (Il est 9h du matin en même temps :P)
Merci d'avance ! ;)
A voir également:
- Syntax error missing ) after argument list
- Erreur 0x80070643 - Accueil - Windows
- Erreur 4201 france tv ✓ - Forum Réseaux sociaux
- J'aime par erreur facebook notification - Forum Facebook
- Iptv erreur de lecture - Forum TV & Vidéo
- Code erreur f3500-31 ✓ - Forum Bbox Bouygues
2 réponses
Bonjour
Si firebug pointe sur $deliberation['ELIB'], c'est que ton PHP n'est pas interpreté, car normalement la variable $deliberation['ELIB'] ne devrait exister que dans le serveur, pas chez le client où le javascript est exécuté.
Ta page a-t-elle bien une extension .php ?
Si tu travailles en local, as-tu un serveur Apache (Wamp, easyphp... ?
Utilises-tu bien ce serveur pour appeler ta page ( url http://localhost ou http://127.0.0.1)
Si firebug pointe sur $deliberation['ELIB'], c'est que ton PHP n'est pas interpreté, car normalement la variable $deliberation['ELIB'] ne devrait exister que dans le serveur, pas chez le client où le javascript est exécuté.
Ta page a-t-elle bien une extension .php ?
Si tu travailles en local, as-tu un serveur Apache (Wamp, easyphp... ?
Utilises-tu bien ce serveur pour appeler ta page ( url http://localhost ou http://127.0.0.1)
L'appel
Pour les ajouter, ne pas oublier de les échapper :
js_affiche_edit_Delib(152, 143, En attente, Lancement)est incorrect, ce devrait être
js_affiche_edit_Delib(152, 143, "En attente", "Lancement")(note les double quotes)
Pour les ajouter, ne pas oublier de les échapper :
echo("<a href='#' class='button_SearchMore' onclick='js_affiche_edit_Delib(".$deliberation['MODIF_LOT'].", ".$deliberation['NUMERO'].", "\".$deliberation['ELIB']."\", \"".$deliberation['TLIB']."\")'>+</a>");
Les doubles (ou simples) quotes servent à indiquer à javascript qu'il s'agit d'une chaîne de caractères. Si tu n'en mets pas, ce qui commence par une lettre est un symbole (nom de variable, de fonction...) Dans ton cas précis, Javascript a pris "En" pour un nom de variable et "attente" l'a surpris car un deuxième symbole sans séparateur, ce n'est pas permis par la syntaxe de Javascript. Il a supposé que tu avais oublié la parenthèse qui fermait la liste des arguments de la fonction.
Naturellement le PHP est interprété sur le serveur. Ce n'est pas un serveur local mais distant et oui il y a la bonne extension au fichier ;)