Scala Play框架:绑定表单参数到隐藏字段

7
我正在使用Play 2.0.4,并且在我的Scala模板中有以下表单。
@fieldGroup(field: Field, className: String = "field") = {
<div class="twipsies well @className">

    <a class="removeField btn danger pull-right">Remove Field</a>

    @inputText( // <=== I need a hidden input field here
        field("id")
    )

    @inputText(
        field("name"),
        '_label -> "Name",
        '_help -> "Use lower case, starts with an alphabet can contain numbers and underscores."
    )
}

我需要在表单中添加几个隐藏字段,如何将其绑定到服务器端的 Form 组件?我在 Github 存储库中看到了一个 @inputHidden 模板助手,但它在稳定版本中不可用。我应该如何实现我所需要的功能?谢谢。


遇到了类似的问题,这里刚刚发布了一个解决方案:https://dev59.com/eXLYa4cB1Zd3GeqPc-U6#26096702 - FrancescoM
处理HTML输入创建的方法 - Adriano
2个回答

19

手动编写常规 HTML:

<input type="hidden" name="id" value='@field("id").value' >

或者使用文档中描述的方法,参见自己处理HTML输入创建部分,在文档中有详细说明。


我已经使用过这个了,如果我有嵌套的表单对象怎么办?这对于Customer是有效的,但是对于Customer.orders该怎么做呢? - Ragunath Jawahar
我不知道你的模型或者你是如何管理关系的,那么我怎么能猜测呢? - biesior
嗨,对于嵌套关系也是一样有效的。感谢您的时间。 - Ragunath Jawahar
1
只想添加一个小注释,你需要在 field("id") 前面加上 @ 符号。最终代码应该如下: - Remis B

3

使用原始HTML:

<input type="hidden" name="@field("id").name" value='@field("id").value' >

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接