【发布时间】:2018-08-17 17:22:13
【问题描述】:
我正在尝试将我的 html 页面上的输入项列表绑定到我的控制器。
我的表单定义为:
def clientForm = Form( tuple(
"clients[]" -> seq( tuple(
"firstname" -> text,
"lastname" -> text) )
) )
在我的 HTML 中,我尝试了以下方法:
@b3.text(thisForm("clients[0]"), '_label -> "first client", 'value -> "('John','Snow')")
@b3.text(thisForm("clients[1]"), '_label -> "second client", 'value -> "('Frank','Carson')")
我也试过了:
@b3.text(thisForm("clients[0].firstname"), '_label -> "first client fistname", 'value -> "John")
@b3.text(thisForm("clients[0].lastname"), '_label -> "first client lastname", 'value -> "Snow")
@b3.text(thisForm("clients[1].firstname"), '_label -> "second client fistname", 'value -> "Frank")
@b3.text(thisForm("clients[2].lastname"), '_label -> "second client lastname", 'value -> "Carson")
在调试模式下,我可以看到这些值绑定到控制器内的表单:
val boundFrom = inForm.bindFromRequest
但是当我将boundForm.fold 映射到clientForm 时,这些值无法正确映射到我的"clients[]" 元素。
我不知所措,花了很长时间寻找答案却无济于事。
非常感谢任何帮助
编辑: 这是调试模式下的屏幕截图。这些值被绑定到表单,但随后没有被分配。 Debug screenshot
【问题讨论】:
-
您在
.fold错误块中遇到的错误是什么? -
我的折叠块中没有任何错误
-
如果你的
clientForm只有clients[],为什么它是tuple?
标签: html scala list playframework