将JavaScript变量分配给Smarty变量


Assign JavaScript variable to Smarty variable

可能重复:
如何将javascript变量分配给智能变量

我想使用JavaScript为Smarty变量分配一个文本字段值,并调用Smarty函数,但我做不到。

请引导我。

你不能用简单的方法做到这一点。PHP和Smarty在浏览器获取数据之前在服务器端进行解析和运行。当浏览器解析服务器发送的HTML、CSS和JavaScript时,JavaScript在客户端运行。

您将不得不以某种方式发出一个新的HTTP请求,发送新的数据。您可以通过重新加载整个网页并在querystring中发送内容(在URL中的?之后(来实现这一点,或者通过从JS代码中进行Ajax调用并让JS对页面进行您想要的更改来实现更高级的功能。后者更复杂,需要一些Javascript知识,但不需要重新加载整个页面。

你的意思是这样的吗?

<script>
var foo_bar = {$foo.bar|escape:javascript};
</script>

注意,如上所述,该值是在服务器端计算的。

UPD我现在明白了,你想反过来传递价值。不,那是不可能的。