我在将变量从 JavaScript 传递给 smarty 时遇到了一些问题。
例子:
{literal}
<script type="text/javascript">
var js_variable = 110;
</script>
{/literal}
jQuery('div.fakbox_msg').html("{/literal}{lang_sprintf id=100013 1=js_variable}{literal}");
最佳答案
您无法轻松做到这一点。 PHP,以及扩展名 Smarty,在浏览器获取数据之前在服务器端被解析和运行。当浏览器解析服务器发送的 HTML、CSS 和 Javascript 时,JavaScript 在客户端运行。
您必须以某种方式发出新的 HTTP 请求,发送新数据。您可以通过重新加载整个网页并在查询字符串中发送内容(在 URL 中的 ? 之后)来做到这一点,或者通过从您的 JS 代码执行 Ajax 调用并让 JS 执行您想要的页面更改来稍微更高级。后者更复杂,需要一些 Javascript 知识,但不需要重新加载整个页面。 了解更多信息: Assign JavaScript variable to Smarty variable
关于javascript - 将 JavaScript 变量传递给 smarty,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6851901/