使用Grav表单提交后保存文件无输入值问题求助
解决Grav表单保存文件不显示用户输入值的问题
问题原因
你当前的Twig模板通过field.value(field.name)获取用户输入值的方式不正确。在Grav表单的保存流程中,用户提交的实际数据存储在form.values关联数组中,而非字段对象的value()方法返回值。
修正方案
修改你的Twig模板文件forms/data.txt.twig,将获取值的方式改为从form.values中读取对应字段名的内容,同时可以添加default过滤器处理空值场景:
{% for field in form.fields %} <div><strong>{{ field.label }}</strong>: {{ form.values[field.name]|default('')|e }}</div> {% endfor %}
额外说明
form.values[field.name]直接调用用户提交的对应字段数据default('')确保当字段未填写时显示空字符串而非报错|e用于转义特殊字符,避免格式混乱和安全风险
同时可优化表单配置中save部分的body参数,简化转义写法:
body: '{% include ''forms/data.txt.twig'' %}'
内容的提问来源于stack exchange,提问作者DouxDoux
相关产品推荐
相关产品推荐

