|
Publicité ' | |||||||||||||||||||||||
|
|
#1 | ||
|
Membre chevronné
![]() Inscription : juin 2004 Messages : 747 ![]() |
Bonjour,
j'ai un pb pour inclure un script javascript avec smarty. si j'inclus ce script dans mon header html, il est pris en compte mais mes éléments html créés avec smarty ne sont pas pris en compte.. tous mes divs de mise en page sont mis à jour avec de l'ajax. Code :
Code :
ds_oe = document.getElementById('ds_calclass'); PS: J'ai essayé en enlevant les balises {literal} et ce n'est pas mieux... |
||
|
00
|
|
|
#2 |
|
Membre Expert
![]() ![]() ERIC POMMEREAUIngénieur intégration Inscription : décembre 2004 Messages : 683 ![]() |
Bonjour,
L'utilisation de {LITERAL} ne se justifie pas dans ce cas de figure (inclusion d'un script). Pour le reste je ne vois qu'une erreur dans les chemins d'inclusion (dans ta déclaration) ou bien une incompatibilité quelconque (mais je ne pense pas). Pour ce problème en particuler, avec FireFox et l'extension FireBug tu pourrais voir en deux coups de cuillère à pôt si ton script est bien récupéré par le navigateur. Je t'ai joint une copie d'écran pour voir ce que ça donne avec le un des script .js de ce forum. Si ce n'est pas ça le soucis peux tu préciser comment ton template est appelé en postant le code concerné. Merci @+
__________________
Eric POMMEREAU Articles : Smarty, JpGraph, Ajax YUI, IPython, Design patern strategy en PHP, Firebug Site : Antiquités du Marché des Ternes |
|
00
|
|
|
#3 | ||||
|
Membre chevronné
![]() Inscription : juin 2004 Messages : 747 ![]() |
Bonjour Eric,
Merci pour ton tuto Smarty, je m'en sers beaucoup en ce moment ! Voici les symptômes : Si le script est inséré dans le header html de mon index.php (seule page du site, tout est en ajax), alors le script est reconnu, l'erreur produite annonce qu'il ne reconnaît pas un objet de type <td>, alors que son id est bon.. Si le script est inséré dans le div où est présent l'objet <td> en question, et donc inséré via Smarty, la fonction appelée n'est même pas reconnue (Objet requis), ce qui me pousse à croire que le script n'est pas pris en compte. Pour autant il apparaît dans Firebug, tout comme mes éléments <td> requis... Pour les appels à Smarty : Un fichier contenu.php s'occupe d'appeler le bon script php en fonction du contenu demandé. Ici c'est dt_form.php qui appelle mon template : Code PHP :
et voici le dt_form1.tpl dont il est question : Code HTML :
Les chemins que j'ai indiqués sont relatifs à la racine web (c:/wamp/www/). J'ai aussi essayé en mettant des chemins relatifs au dossier du tpl (c:/wamp/php/PEAR/tpl/dt/) Rien de tout ça ne marche... Même problème avec des chemins absolus.. Autre indication : Dans FireBug, mes divs sont bien mis à jours dans le code HTML (le script est présent dans mon div de contenu), mais quand je clique sur Script, le code correspond à la page d'accueil tout le temps. Ceci est dû à l'utilisation d'ajax, mais est-ce pour autant normal ?? En tout cas merci.. |
||||
|
00
|
|
|
#4 |
|
Membre Expert
![]() ![]() ERIC POMMEREAUIngénieur intégration Inscription : décembre 2004 Messages : 683 ![]() |
Bonjour,
Finalement je pense qu'il ne s'agit que de lieu d'insertion de ton javascript (ce que tu as remarqué dailleurs...) Si ton script placé dans le header Code :
ds_oe = document.getElementById('ds_calclass'); Le problème est donc selon moi plus javascript que SMARTY ou PHP. @+
__________________
Eric POMMEREAU Articles : Smarty, JpGraph, Ajax YUI, IPython, Design patern strategy en PHP, Firebug Site : Antiquités du Marché des Ternes |
|
00
|
|
|
#5 | ||
|
Membre chevronné
![]() Inscription : juin 2004 Messages : 747 ![]() |
Le problème, c'est que pour insérer mon script js autre part que dans le header, je dois l'insérer avec Smarty, et je n'y arrive pas. Mon script n'est jamais détecté lorsque je le mets dans un .tpl .
cf : Code :
ds_sh est la fonction appelée par mon champ input datedelai. Pour moi ça signifie que le script js n'est pas détecté puisque sa fonction "mère" n'est pas trouvée. Le problème vient peut-être du chemin que j'indique. Dans un tpl, les chemins relatifs sont-ils vus du point de vue du fichiers .tpl (chez moi c'est le pear de php) ou alors de la racine du site web (/www/) comme du code html totalement intégré (à mon avis ce devrait être cette 2nde solution) ? indic: le chemin absolu de mon script js : C:/wamp/www/js/DatePicker.js |
||
|
00
|
|
|
#6 |
|
Membre chevronné
![]() Inscription : juin 2004 Messages : 747 ![]() |
Je commence à me demander si des éléments insérés avec Smarty ne seraient pas mal pris en compte dans l'arborescence DOM...
|
|
00
|
|
|
#7 |
|
Membre Expert
![]() ![]() ERIC POMMEREAUIngénieur intégration Inscription : décembre 2004 Messages : 683 ![]() |
Normalement ça n'a rien à voir...
__________________
Eric POMMEREAU Articles : Smarty, JpGraph, Ajax YUI, IPython, Design patern strategy en PHP, Firebug Site : Antiquités du Marché des Ternes |
|
00
|
|
|
#8 |
|
Membre chevronné
![]() Inscription : juin 2004 Messages : 747 ![]() |
Je me demande si c'est pas l'insertion par une fonction Ajax qui fait perdre le DOM, j'avais déjà eu ce pb..
Le pb se vérifie avec d'autres scripts que j'aimerais insérer. J'y arrive en les mettant dans le header mais pas en les injectant dans le contenu de mon code html.. Je vais essayer de contourner mais j'aime jamais ça... Surtout que je vais devoir répéter tout ça sur plusieurs pages. M'enfin, je tiens au courant si je trouve une solution à peu près propre. |
|
00
|
Copyright © 2000-2012 - www.developpez.com