将 JavaScript 变量分配给 Smarty 变量

发布于 2024-12-05 02:18:12 字数 421 浏览 0 评论 0原文

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

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

请指导我。

Possible Duplicate:
how to assign a javascript variable to a smarty variable

I want to assign a textfield value to Smarty variable using JavaScript and call Smarty function but I could not do it.

Please guide me.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

行雁书 2024-12-12 02:18:12

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

您必须以某种方式发出新的 HTTP 请求,发送新数据。您可以通过重新加载整个网页并在查询字符串中发送内容(在 URL 中的 ? 之后)来实现这一点,或者通过从 JS 代码执行 Ajax 调用并让 JS 进行更改来稍微高级一些您想要的页面。后者更复杂,需要一些 JavaScript 知识,但页面不需要全部重新加载。

You cannot do that in an easy way. PHP, and by extension Smarty, is parsed and run on the server side before the browser get the data. JavaScript is run on the client side when the browser parses the HTML, CSS and Javascript that the server sent.

You will have to make a new HTTP request in some way, sending the new data. You can do that by reloading the entire web page and sending stuff in the querystring (after ? in the URL), or slightly more advanced by doing an Ajax call from your JS code and make JS do the changes of the page that you desire. The latter is more complex and requires some knowledge of Javascript, but the page does not need to be reloaded in its entirety.

梦幻的味道 2024-12-12 02:18:12

你的意思是这样的吗?

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

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

UPD。我现在明白了,你想以相反的方式传递价值。不,那不可能。

Did you mean something like this?

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

Note that, as mentioned above, the value is computed server-side.

UPD. I get it now, you wanted to pass value the other way around. No, that’s not possible.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文