Php 将JavaScript变量分配给Smarty变量
可能重复:Php 将JavaScript变量分配给Smarty变量,php,javascript,smarty,Php,Javascript,Smarty,可能重复: 我想使用JavaScript为Smarty变量分配一个textfield值,并调用Smarty函数,但我做不到 请引导我。你不能轻易做到这一点。在浏览器获取数据之前,在服务器端解析并运行PHP和Smarty扩展。当浏览器解析服务器发送的HTML、CSS和JavaScript时,JavaScript在客户端运行 您必须以某种方式发出新的HTTP请求,发送新数据。您可以通过重新加载整个网页并在querystring中发送内容(在URL中的?之后)来实现这一点,或者通过从JS代码中执行A
我想使用JavaScript为Smarty变量分配一个textfield值,并调用Smarty函数,但我做不到
请引导我。你不能轻易做到这一点。在浏览器获取数据之前,在服务器端解析并运行PHP和Smarty扩展。当浏览器解析服务器发送的HTML、CSS和JavaScript时,JavaScript在客户端运行
您必须以某种方式发出新的HTTP请求,发送新数据。您可以通过重新加载整个网页并在querystring中发送内容(在URL中的
?
之后)来实现这一点,或者通过从JS代码中执行Ajax调用来稍微高级一点,并让JS执行您想要的页面更改。后者更为复杂,需要一些Javascript知识,但页面不需要全部重新加载。您不可能以简单的方式完成这项工作。在浏览器获取数据之前,在服务器端解析并运行PHP和Smarty扩展。当浏览器解析服务器发送的HTML、CSS和JavaScript时,JavaScript在客户端运行
您必须以某种方式发出新的HTTP请求,发送新数据。您可以通过重新加载整个网页并在querystring中发送内容(在URL中的
?
之后)来实现这一点,或者通过从JS代码中执行Ajax调用来稍微高级一点,并让JS执行您想要的页面更改。后者更复杂,需要一些Javascript知识,但页面不需要全部重新加载。你是指这样的内容吗
<script>
var foo_bar = {$foo.bar|escape:javascript};
</script>
var foo_bar={$foo.bar | escape:javascript};
注意,如上所述,该值是在服务器端计算的
UPD。我现在明白了,您希望以另一种方式传递值。不,那是不可能的。你的意思是这样的吗
<script>
var foo_bar = {$foo.bar|escape:javascript};
</script>
var foo_bar={$foo.bar | escape:javascript};
注意,如上所述,该值是在服务器端计算的
UPD。我现在明白了,您希望以另一种方式传递值。不,这是不可能的。Javascript在客户端执行,Smarty在服务器端执行。javascript无法在当前请求中直接与php(smarty)联系。另一种方法-AJAX.Smarty是PHP,在服务器端运行。JavaScript在客户端运行。当执行JavaScript时,PHP的工作已经完成。和和和JavaScript的可能副本在客户端执行,Smarty在服务器端执行。javascript无法在当前请求中直接与php(smarty)联系。另一种方法-AJAX.Smarty是PHP,在服务器端运行。JavaScript在客户端运行。当执行JavaScript时,PHP的工作已经完成。和的可能重复