SELFHTML

Forum SELFHTML: Archives:
Une parenthese dans un texte dans une fonction javascript

Page d'information: vue d'ensemble
vers le bas 

(JAVASCRIPT) Une parenthese dans un texte dans une fonction javascript

Le message suivant est de: xavier, Adresse électronique xavier@perdican.net, 16. 07. 2003, 09:51

Malgre la qualite et l'exhaustivite du present site (au passage grand merci au auteurs), je n'ai pas trouve le code caractere me permettant d-utiliser une parenthese dans un texte traite par une fonction javascript. Consequence, la fonction est fermee sans avoir le parametre complet

merci d-avance pour le tuyau


 
vers le hautvers le bas 

(JAVASCRIPT) Une parenthese dans un texte dans une fonction javascript

Le message suivant est de: Patrick Andrieu, Adresse électronique nospam@nospam.fr, 17. 07. 2003, 00:55
http://www.selfhtml.com.fr/equipe/patrick.htm

Salut Xavier!


»» Malgre la qualite et l'exhaustivite du present site (au passage grand merci au auteurs), je n'ai pas trouve le code caractere me permettant d-utiliser une parenthese dans un texte traite par une fonction javascript. Consequence, la fonction est fermee sans avoir le parametre complet

Il suffit de masquer les caractères pouvant entrer en conflit avec des caractères utilisés par JavaScript. Exemple:

document.write("Elle disait toujours: \"Et tup\" avant de se retourner");

Les " du texte sont masqués. Autre exemple avec ta parenthèse:

document.write('Cette jeune fille \(la même que plus haut\) était par ailleurs très jolie');

Les parenthèses du texte sont masquées (escaped). Allright? :)

»» merci d-avance pour le tuyau

Merci à Serge François d'avoir traduit!

A+
Patrick


 
vers le hautvers le bas 

(JAVASCRIPT) Une parenthese dans un texte dans une fonction javascript

Le message suivant est de: xavier, Adresse électronique xavier@aidec.net, 22. 07. 2003, 09:42

La réponse à très claire merci.

En revanche je n'ai pas résolu mon problème.
Pour les caractères spéciaux, j'ai opté les codes iso (mon code php en amont s'occupe des conversions)

Mais il doit y avoir un caractère spécial Javascript que j'ignore et qui me fait planter cette ligne :

<a href="javascript:Selectionner(1,'Association Interculturelle de Défense de l&#39Esprit Critique &#40A.I.D.E.C.&#41, &#40Siège Social&#41')">Sélectionner</a>

Ci apres le code complet de la page  (je pense toutefois que l bug est bien sur la ligne precedente, d'autant que cette page marche tres bien dans un autre contexte similaire mais où je n'ai pas de chaines avec parentheses)

<html>
<head>
<title></title>


<LINK HREF="design/styles.css" TYPE="text/css" rel="stylesheet">
</head>

<body class=query>

<script language=jscript>
function Selectionner(a,b){
 opener.data.groupe_id.value=a;
 opener.data.groupe_titre.value=b;
 self.close();
 }
</script>
<table border=1>
<tr><td>Titre</td><td>Organe</td><td>Action</td></tr>
<tr><td>Association Interculturelle de Défense de l'Esprit Critique (A.I.D.E.C.)</td><td>Siège Social</td><td><a href="javascript:Selectionner(1,'Association Interculturelle de Défense de l&#39Esprit Critique &#40A.I.D.E.C.&#41, &#40Siège Social&#41')">Sélectionner</a></tr>
<tr><td>Association Interculturelle de Défense de l'Esprit Critique (A.I.D.E.C.)</td><td>Bureau</td><td><a href="javascript:Selectionner(5,'Association Interculturelle de Défense de l&#39Esprit Critique &#40A.I.D.E.C.&#41, &#40Bureau&#41')">Sélectionner</a></tr>
</table>
</html>

Merci d'avance pour ta patience.


 
vers le hautvers le bas 

(JAVASCRIPT) Une parenthese dans un texte dans une fonction javascript

Le message suivant est de: Patrick Andrieu, Adresse électronique nospam@nospam.fr, 23. 07. 2003, 00:15
http://www.selfhtml.com.fr/equipe/patrick.htm

Bonsoir Xavier!


»» <a href="javascript:Selectionner(1,'Association Interculturelle de Défense de l&#39Esprit Critique &#40A.I.D.E.C.&#41, &#40Siège Social&#41')">Sélectionner</a>

»» Ci apres le code complet de la page  (je pense toutefois que l bug est bien sur la ligne precedente, d'autant que cette page marche tres bien dans un autre contexte similaire mais où je n'ai pas de chaines avec parentheses)


C'est peut-être tout simplement trop compliqué pour JavaScript. L'erreur est vraissemblablement provoquée par l'apostrophe placée avant Esprit. D'autre part, je reverrais à ta place ton code iso (Voir ce que donne Mozilla). Mozilla dont je recommande l'installation vu que sa console Javascript (appelée en tapant javascript: [avec les deux points] dans la barre d'adresse) est bien plus précise que les messages d'erreurs souvent irrelevants donnés par Internet Explorer.

Erreur IE:
Ligne: 1
Signe: 61
Erreur: ')' manquant

Erreur Mozilla:
Error: missing ) after argument list
Source File: javascript:Selectionner(1,'Association Interculturelle de D%C3%83%C2%A9fense de l'Esprit Critique (A.I.D.E.C.), (Si%C3%83%C2%A8ge Social)')
Line: 1, Column: 61
Source Code:
Selectionner(1,'Association Interculturelle de Défense de l'Esprit Critique (A.I.D.E.C.), (Siège Social)')
                                                             ^

Remarque au passage ce qu'il est advenu des mots "défense" et "siège"

En revanche, si je mets:
javascript:Selectionner(1,'Association Interculturelle de Défense de l\'Esprit Critique &#40A.I.D.E.C.&#41, &#40Siège Social&#41'
je n'obtiens plus qu'une erreur me disant que opener.data n'est pas un objet (ce qui est normal, vu que j'ai copié le code sur un fichier que j'appelle directement, donc, sans "opener").

Je pense que ta solution est à revoir, au niveau de la longueur et de la qualité du texte à faire apparaitre (parenthèses, apostrophes, etc...)

Patrick


 
vers le hautvers le bas 

(JAVASCRIPT) Une parenthese dans un texte dans une fonction javascript

Le message suivant est de: xavier, Adresse électronique xavier@aidec.net, 23. 07. 2003, 08:53
http://www.aidec.net

Salut Patrick (pour la contrepetrie ;o))

Merci pour ta réponse.
J'ai en fait solutionné le problème en applicant strictement ton premier conseil : j'ai masqué tous les caractères spéciaux (la difficulté pour moi a juste été de faire en sorte que php transmettre à javascript un code avec les "\")

Merci encore pour les conseils
je vais en effet voir pour MOzilla, d'autant que je travail exclusivement avec NotePad et qu'un peu de precision sur les erreurs javascript ne serait pas de trop !

Bonne journee,

Xavier


 
vers le hautvers le bas 

(JAVASCRIPT) Une parenthese dans un texte dans une fonction javascript

Le message suivant est de: Patrick Andrieu, Adresse électronique nospam@nospam.fr, 24. 07. 2003, 01:39
http://www.selfhtml.com.fr/equipe/patrick.htm

Bonsoir (vu l'heure..., euh...)


»» je vais en effet voir pour MOzilla, d'autant que je travail exclusivement avec NotePad et qu'un peu de precision sur les erreurs javascript ne serait pas de trop !


Mozilla est en fait la continuation du projet Netscape, navigateur dont la version 4. avait été un blamage complet après l'apparition de IE 4. Il avait été impossible aux programmateurs de corriger toutes les erreurs de ce navigateur, et, à peu près au moment où IE 5 est sorti, est né le projet Mozilla, ambitieux, ayant pour but de respecter strictement les standards du consortium W3. Ils y sont finalement arrivés, livrant un navigateur qui dans les versions supérieures à 1.0 est pour ainsi dire sans fautes, serrant plus près les standards que IE 6. Autre navigateur, qui il y a 3 ans de cela n'en était qu'à ses balbutiements: Opera. Dans sa version 7.x, ce navi ne se laisse plus rien reprocher, dispose même d'une console JavaScript pour les erreurs (qui cependant n'égale pas celle de Mozilla).

Mozilla et Opera interprètent la balise <link ...>, absolument inconnue des navis de Microsoft (si ce n'est <link rel="stylesheet" ...>) un outil de navigation très agréable si les auteurs de pages web l'utilise convenablement.

Il est préférable de tester au moins avec ces 3 navigateurs si on désire coder "professionnellement", du moins coder "valide", sachant que Opera et Mozilla ensembles doivent rallier 10% des visiteurs d'un site. Cela pose parfois des surprises, voyant bien que ce que IE laisse passer (comme propres erreurs de codage) est absolument refusé par les 2 autres :)

Enfin, une vérification de son code par le "Validateur" du W3C est aussi à conseiller, là aussi, on a au début souvent pas fini de s'étonner... mais quand on a pris le coup, le validateur nous punit de moins en moins souvent :)

http://www.opera.com/
http://www.mozilla.org/
http://validator.w3.org/

Patrick


 
vers le haut

© 1998-2004 Adresse électronique selfhtml@fr.selfhtml.org