0

我想读取“输入”的值,然后控制器会将输入传递给getTask(task: String)方法。

我怎样才能做到这一点?这是我的代码片段。

@form(routes.Application.getTask("url")) {

        @inputText(taskForm("hash"))

        <input type="submit" value="Get">

    }
4

1 回答 1

0

html<input>标签应该在浏览器中呈现,你的 dom 应该看起来像这样(例如,对于一个带有 twitter bootstrap 样式的表单,它处理使用用户名和密码登录):

<form class="form-horizontal" action="/support/login" method="post">
  <div class="control-group">
    <label class="control-label" for="inputUsername">User Name</label>
    <div class="controls">
      <input type="text" id="inputUsername" name="username" placeholder="User Name">
    </div>
  </div>
  <div class="control-group">
    <label class="control-label" for="inputPassword">Password</label>
    <div class="controls">
      <input type="password" id="inputPassword" name="password" placeholder="Password">
    </div>
  </div>
  <div class="control-group">
    <div class="controls">
      <button type="submit" class="btn">Log in</button>
      <button type="submit" class="btn">Forgot Password</button>
    </div>
  </div>
</form>

您可以使用 jquery.ajax 或单击<button type="submit" ...>. 这将向播放框架将处理的服务器发送一个请求,该代码在 scala 中对我来说看起来像这样:

  private def loginForm() = Form(
    tuple("username" -> text, "password" -> text)
      .verifying("Invalid username or password", result => Auth.authenticate(result._1, result._2)))

  def doLogin = Action { implicit request =>
    loginForm().bindFromRequest.fold(
      formWithErrors => authenticationFailed(request),
      form => gotoLoginSucceeded(UserId(form._1))
    )
  }

formWithErrors并且form是解析后的表单对象。

于 2013-01-08T13:55:28.540 回答