【问题标题】:How to get the value of an input element directly in the twig template如何在树枝模板中直接获取输入元素的值
【发布时间】:2013-01-29 12:53:13
【问题描述】:

我的树枝模板中有这个表格:

<form id="search-box" action="/search" method="get">
    <input id="search-query" type="text" placeholder="Search..." name="search" role="textbox">
    <a id="search-btn" href="....."></a>
</form>

我的目标是使用输入 id="search-query" 的值来为 a id="search-btn" 创建 href p>

为此,我必须访问输入 id="search-query" 的值。

我试过了:

{{ form.search-query.value }}

{{ search-box.search-query.value }}

但这些都不起作用。我收到表单或搜索不存在的错误。

有什么想法吗?

【问题讨论】:

  • 您的表单类型是什么样的?
  • 除了@iamdto 问题——你的表单是否甚至使用表单组件构建?
  • @thecatontheflat,不,唯一与表单有关的是表单 html 标记。此表单直接构建在 twig 文件中。

标签: html forms symfony twig


【解决方案1】:

一般来说,你可以用 jQuery 做到这一点:

var given_val = '';
var wanted_href = '';
given_val = $('input#search-query').val();
wanted_href = 'http://www.example.com/' + given_val;
$('a#search-btn').attr('href',wanted_href);

【讨论】:

  • 谢谢,但我想直接使用twig,而不是jquery。
  • {{ form#search-query.value }} - 这是什么? Twig 支持这样的语法吗?
  • @thecatontheflat,不,twig 不支持这种语法!
  • 这就是为什么我问那些是否是 css 选择器!请在给出-1之前阅读。耶稣!
  • 编辑你的答案,我会删除它;)
【解决方案2】:

你应该使用{{ form.search-query.all.value }}

【讨论】:

  • 不,我知道变量形式不存在。
  • 它必须是 FormView 的一个实例
  • 因为我假设您使用的是 Symfony2 表单
  • 这就是我现在想要做的。之前问的时候,我没有用过Symfony2的表单,而是直接用html表单标签。
猜你喜欢
  • 1970-01-01
  • 2016-02-14
  • 2013-08-07
  • 2012-07-27
  • 2022-01-10
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2023-01-18
相关资源
最近更新 更多