将 JavaScript 变量分配给 Smarty 变量
可能的重复:
如何将 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 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
你不能以简单的方式做到这一点。 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.你的意思是这样的吗?
请注意,如上所述,该值是在服务器端计算的。
UPD。我现在明白了,你想以相反的方式传递价值。不,那不可能。
Did you mean something like this?
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.