Précédent   Forum des professionnels en informatique > Webmasters - Développement Web > JavaScript > Bibliothèques & Frameworks > Prototype & Script.aculo.us
Prototype & Script.aculo.us Forum d'entraide sur les frameworks Prototype et Script.aculo.us
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 30/07/2007, 19h05   #1
Nouveau Membre du Club
 
Inscription : octobre 2006
Messages : 152
Détails du profil
Informations forums :
Inscription : octobre 2006
Messages : 152
Points : 35
Points : 35
Par défaut [Prototype] Javascript dans page AJAX

Bonjour à tous,

J'ai réalisé un site dans lequel à partir des rubriques de mon menu, je met à jour mon div principal de contenu. J'utilise pour cela le framework prototype et la méthode Updater de la classe Ajax.

Mais lorsque j'insère du code javascript dans une page appelée grâce à cette méthode, le code ne s'exécute pas.

Voici un exemple :

Je clique sur la rubrique produits de mon menu --> le div content se met à jour. Mais dans la page appelée par la méthode Ajax.updater, j'avais placé un Accordion Spry (simple panneau en accordéon que proposent la plupart des frameworks Ajax). Le panneau Accordion s'affiche bien mais il n'y a aucun effet d'accordéon, les différents panneaux sont déjà dépliés.

Avez-vous une idée de la source du problème ?

Je vous remercie
brazilia28 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 31/07/2007, 09h18   #2
Responsable Modération
 
Homme
Inscription : janvier 2007
Messages : 9 315
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 : 9 315
Points : 15 609
Points : 15 609
Bonjour,
Citation:
Envoyé par brazilia28
Avez-vous une idée de la source du problème ?
le code aiderait beaucoup

A+
E.Bzz est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 31/07/2007, 09h38   #3
Nouveau Membre du Club
 
Inscription : octobre 2006
Messages : 152
Détails du profil
Informations forums :
Inscription : octobre 2006
Messages : 152
Points : 35
Points : 35
Euh oui en effet, alors voilà :

Ma page d'accueil avec mon menu :

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
 
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Bienvenue sur mon site perso</title>
<link rel="stylesheet" type="text/css" href="./css/style.css"/>
<script type="text/javascript" src="./javascript/prototype.js"></script>
<script type="text/javascript" src="./javascript/script.js"></script>
</head>
<body onload="updater('accueil');">
<div id="corps">
<div id="header></div>
<div id="menu">
<h3 onclick="updater('quisuisje');">qui suis-je ?</h3>
<h3 onclick="updater('moncaractere');">mon caractère</h3>
<h3 onclick="updater('moncv');">mon CV</h3>
</div>
<div id="content"></div>
</div>
 
</body>
</html>
Mon script Javascript avec la fonction updater :

Code :
1
2
3
4
5
6
7
8
 
 
function updater(nameUrl){
var url = nameUrl+'.php';
var pars = 'param1=valeur1';
var target = 'content';
var myAjax = new Ajax.Updater(target, url, {method: 'get', parameters: pars});
}
Et ma page moncv.php que j'affiche dans mon div 'content' :

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
 
 
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Mon CV</title>
<script src="javascript/SpryAccordion.js" type="text/javascript"></script>
<link href="css/SpryAccordion.css" rel="stylesheet" type="text/css" />
<body>
<div id="Accordion1" class="Accordion" tabindex="0">
  <div class="AccordionPanel">
    <div class="AccordionPanelTab">Etiquette 1</div>
    <div class="AccordionPanelContent">Contenu 1</div>
  </div>
  <div class="AccordionPanel">
    <div class="AccordionPanelTab">Etiquette 2</div>
    <div class="AccordionPanelContent">Contenu 2</div>
  </div>
</div>
<script type="text/javascript">
<!--
var Accordion1 = new Spry.Widget.Accordion("Accordion1");
//-->
</script>
</body>
</html>
Vous pouvez voir le problème que j'ai à cette adresse en cliquant sur la rubrique mon CV : http://benjih00.free.fr
Et ici ce que je souhaiterais obtenir lorsque j'affiche ma page : http://benjih00.free.fr/result.php

Je vous remercie
brazilia28 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 01/08/2007, 09h43   #4
Responsable Modération
 
Homme
Inscription : janvier 2007
Messages : 9 315
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 : 9 315
Points : 15 609
Points : 15 609
Il manque une " làSi un de tes script JS y accède, ça peut planter le code ...

A+
E.Bzz est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 01/08/2007, 11h12   #5
Nouveau Membre du Club
 
Inscription : octobre 2006
Messages : 152
Détails du profil
Informations forums :
Inscription : octobre 2006
Messages : 152
Points : 35
Points : 35
Non ce n'est pas ça, c'est juste une erreur de copier/coller du code. Mais merci quand même !!

Quelqu'un aurait-il une solution à mon problème s'il vous plaît ?
brazilia28 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 01/08/2007, 11h58   #6
Responsable Modération
 
Homme
Inscription : janvier 2007
Messages : 9 315
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 : 9 315
Points : 15 609
Points : 15 609
Citation:
Envoyé par brazilia28
Non ce n'est pas ça, c'est juste une erreur de copier/coller du code.
E.Bzz est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 03/01/2008, 11h50   #7
Nouveau Membre du Club
 
Inscription : mars 2003
Messages : 46
Détails du profil
Informations personnelles :
Localisation : France, Nord (Nord Pas de Calais)

Informations forums :
Inscription : mars 2003
Messages : 46
Points : 32
Points : 32
Salut,

Il suffit d'ajouter le paramètre evalScripts: true dans ton Ajax.Updater.

Code :
1
2
3
4
5
6
7
function updater(nameUrl){
var url = nameUrl+'.php';
var pars = 'param1=valeur1';
var target = 'content';
var myAjax = new Ajax.Updater(target, url, {method: 'get', evalScripts: true, parameters: pars});
}
cereal59 est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 08h16.


 
 
 
 
Partenaires

Hébergement Web