Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/270.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/427.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 将JavaScript变量分配给Smarty变量_Php_Javascript_Smarty - Fatal编程技术网

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的工作已经完成。和的可能重复