You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

点击HTML提交按钮时如何通过Twig将输入框内容赋值给变量x

实现方案说明

首先明确核心前提:Twig是服务端模板引擎,所有{% %}标签内的逻辑都会在页面发送到用户浏览器之前就执行完毕,因此无法直接在前端点击按钮时触发Twig的set赋值操作,需根据你的使用场景选择对应方案:

方案1:需要在服务端使用该变量(用于模板渲染、后端逻辑等)

通过表单提交把输入框内容传给后端,后端再把值传递给Twig即可完成赋值:

  1. 首先补全你的前端表单代码:
<form method="post" action="你的后端处理地址">
  <label for="CoARequest"></label>
  <input type="text" id="CoARequest" name="coa_request" class="form-control">
  <button type="submit" class="btn btn-primary">Submit</button>
</form>
  1. 后端接收到coa_request参数后,将参数传递给Twig模板,之后就可以在Twig中完成赋值:
    以PHP为例:
// 后端接收参数
$inputValue = $_POST['coa_request'] ?? '';
// 传递给Twig模板
$twig->render('目标模板.twig', [
    'inputValue' => $inputValue
]);

Twig模板中直接赋值即可:

{% set x = inputValue %}

如果是提交到当前页面,也可以直接在Twig中读取请求参数赋值:

{% if app.request.request.has('coa_request') %}
    {% set x = app.request.request.get('coa_request') %}
{% endif %}

方案2:仅前端逻辑需要使用该变量

如果这个变量不需要参与服务端渲染,直接用JavaScript存储即可,无需调用Twig:

<label for="CoARequest"></label>
<input type="text" id="CoARequest" class="form-control">
<button class="btn btn-primary" id="submitBtn">Submit</button>

<script>
let x = '';
document.getElementById('submitBtn').addEventListener('click', function() {
    x = document.getElementById('CoARequest').value;
    // 后续需要用到x的逻辑直接写在这里即可
    console.log(x);
})
</script>

内容的提问来源于stack exchange,提问作者Erik

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.04 16:09:03