Javascript 变量到 Twig
Javascript variable to Twig
我需要创建一个散列并将其放入 html 输入的占位符中。我需要占位符中 makehash()
函数的散列。我已尝试使用以下代码段实现此目的,但未获得所需的结果。
placeholder: "string";
{% block javascript %}
<script>
function makehash() {
var hash = "";
var possible = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789";
for (var i = 0; i < 5; i++)
hash += possible.charAt(Math.floor(Math.random() * possible.length));
return hash;
}
</script>
{% endblock %}
{% set attributes = {
guuid: {
class: option.class,
data_errortext: option.errortext,
id: key,
maxlength: 225,
name: name,
pattern: (option.pattern and option.pattern not in ['url', 'email']) ? option.pattern : '',
placeholder: hash should come here,
readonly: option.readonly,
required: option.required,
title: option.title,
type: (option.pattern in ['url', 'email']) ? option.pattern : 'text',
value: context.content.get(contentkey)|default(''),
}
} %}
不可能。
Javascript是客户端,而twig是服务器端。
如果你想做这样的事情,那么在你的实体中添加这个函数,在你的控制器中调用它,并将结果发送到你的树枝视图。
你不能为所欲为。
您的网站呈现如下:
- 客户端请求页面
- 服务器收到请求并将其发送到php
- php 启动 symfony
- symfony 启动了 twig
- twig returns 内容到 symfony
- symfony returns 内容 php
- php 将内容提供给网络服务器
- 网络服务器将内容提供给客户端
- 客户端浏览器解释 html
- 客户端浏览器执行javascript
第4步和第10步之间的距离被计算机(服务器计算机和客户端计算机)隔开。他们根本不了解对方。
对于 twig,javascript 代码只是文本。
对于 javascript,树枝代码不存在。仅呈现 html.
现在,如果您想使用 GUID,我建议您使用类似
https://github.com/webpatser/laravel-uuid
我需要创建一个散列并将其放入 html 输入的占位符中。我需要占位符中 makehash()
函数的散列。我已尝试使用以下代码段实现此目的,但未获得所需的结果。
placeholder: "string";
{% block javascript %}
<script>
function makehash() {
var hash = "";
var possible = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789";
for (var i = 0; i < 5; i++)
hash += possible.charAt(Math.floor(Math.random() * possible.length));
return hash;
}
</script>
{% endblock %}
{% set attributes = {
guuid: {
class: option.class,
data_errortext: option.errortext,
id: key,
maxlength: 225,
name: name,
pattern: (option.pattern and option.pattern not in ['url', 'email']) ? option.pattern : '',
placeholder: hash should come here,
readonly: option.readonly,
required: option.required,
title: option.title,
type: (option.pattern in ['url', 'email']) ? option.pattern : 'text',
value: context.content.get(contentkey)|default(''),
}
} %}
不可能。
Javascript是客户端,而twig是服务器端。
如果你想做这样的事情,那么在你的实体中添加这个函数,在你的控制器中调用它,并将结果发送到你的树枝视图。
你不能为所欲为。
您的网站呈现如下:
- 客户端请求页面
- 服务器收到请求并将其发送到php
- php 启动 symfony
- symfony 启动了 twig
- twig returns 内容到 symfony
- symfony returns 内容 php
- php 将内容提供给网络服务器
- 网络服务器将内容提供给客户端
- 客户端浏览器解释 html
- 客户端浏览器执行javascript
第4步和第10步之间的距离被计算机(服务器计算机和客户端计算机)隔开。他们根本不了解对方。
对于 twig,javascript 代码只是文本。
对于 javascript,树枝代码不存在。仅呈现 html.
现在,如果您想使用 GUID,我建议您使用类似 https://github.com/webpatser/laravel-uuid