播放框架获取表单值

Posted

技术标签:

【中文标题】播放框架获取表单值【英文标题】:Play framework get form value 【发布时间】:2012-04-24 00:07:18 【问题描述】:

我有一个带有接受按钮和拒绝按钮的表单。当用户按下接受按钮时,我希望我的数据库中接受的值包含值 true。如果用户按下拒绝,那么我希望我的数据库中接受的值包含值 false。我下面的代码不起作用。有什么建议可以让我正常工作吗?

public static void acceptOrRejectResponseForm(Long id,String accept,String reject) 

      Response responseForm = Response.findById(id);

      if(accept != null && !accept.isEmpty())
          responseForm.accepted = true;
      
      else if(reject != null && !reject.isEmpty())
          responseForm.accepted = false;
      
      accepted.save();

这是我的html

<form action="@Admin.acceptOrRejectResponseForm(response.id)" method="GET">                      
   <input type="submit" value="accept"  name="accept">
   <input type="submit" value="reject"  name="reject">

【问题讨论】:

您应该更好地描述问题,而不是仅仅说“它不起作用”。函数 (accepted.save();) 中是否有拼写错误? accepted 是什么对象? accepted 在我的响应模型中是布尔值 错误是程序无法识别“已接受”。但是,我定义了它。 【参考方案1】:

不要创建两个提交按钮。

创建两个默认值为0的隐藏字段。调用名称接受和拒绝。比创建两个带有 onclick 动作的按钮。如果您使用 onclick 操作单击接受按钮,您只需将隐藏字段设置为接受 1 并拒绝为 0。当您单击拒绝按钮时,您将隐藏的接受字段设置为 0 并拒绝为 1。比您在 js 中提交表单.在代码中获取这两个字段并检查女巫一设置为1,女巫一设置为0。这样你可以在db中设置它

【讨论】:

如何做,因为我是计算新手,我不明白你的意思是什么 @lina 怎么办?您有带有两个按钮的表单(type="button")。每个按钮都有 onclick 动作。您在 javascript 操作中设置隐藏的输入值。在相同的操作中设置它们后,您使用 javascript submit() 函数提交表单 是的,但我没有任何 javascript 函数,因为我不知道如何在 Play 框架中使用它。我在模板中使用上述表单,操作是我的控制器。我想,我很困惑一切 @lina 将 javascript 添加到您的模板。 Javascript 是普通模板的一部分,所以无论你使用 play、spring 还是其他任何东西都没有关系。模板中的简单脚本

以上是关于播放框架获取表单值的主要内容,如果未能解决你的问题,请参考以下文章

JVS基础框架:如何获取子表单的值赋值给当前主表单

播放框架表单映射递归项

升级到 2.4 时播放框架表单类型不匹配

在播放框架中上传表单错误 413 请求实体太大

21 表单小练习

使用 Bottlepy 从 HTML 表单中获取 INT 值