【问题标题】: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 在我的响应模型中是布尔值
  • 错误是程序无法识别“已接受”。但是,我定义了它。

标签: html forms playframework-1.x


【解决方案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 还是其他任何东西都没有关系。模板中的简单脚本
猜你喜欢
  • 2012-12-16
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-03-27
  • 2012-04-16
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多