2011-01-08 9 views

Répondre

1

Vous pouvez utiliser une requête AJAX pour l'envoyer au serveur, où vous pouvez utiliser Smarty pour générer un nouveau HTML (ne connaissez pas les détails de cette opération), puis renvoyer le code HTML dans la réponse AJAX. Vous pouvez ensuite injecter ceci avec innerHTML ou similaire. Vous pouvez voir l'objet XMLHttpRequest. Cependant, divers frameworks JavaScript peuvent grandement simplifier cela.

+0

Merci pour la réponse rapide, j'essaie d'y parvenir avec un AJAX. – user567792

2

D'une manière générale (à moins que vous ne fassiez quelque chose d'ésotérique tel que le mélange de SSJS et de PHP), vous ne pouvez pas. Le PHP s'exécute (traitement du template Smarty), puis délivre la sortie au navigateur, et puis le JavaScript s'exécute, mais à quelle heure il est trop tard pour récupérer des données.

Vous pouvez utiliser JavaScript pour déterminer les données que vous voulez, puis faire une nouvelle demande au serveur. par exemple. En définissant location à un nouvel URI ou en utilisant XMLHttpRequest pour obtenir de nouvelles données à partir du serveur, puis l'utiliser pour modifier le document avec JS. Cependant, puisque vous regardez le niveau de Smarty, il est probable que vous ne vouliez que les données pour le formatage, auquel cas vous devriez simplement le faire dans JS (avec la manipulation DOM).