0

'input'の値を読み取りたいのですが、コントローラーが入力をgetTask(task: String)メソッドに渡します。

どうやってやるの?これが私のコードスニペットです。

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

        @inputText(taskForm("hash"))

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

    }
4

1 に答える 1

0

html<input>タグはブラウザでレンダリングする必要があり、domは次のようになります(たとえば、ユーザー名とパスワードを使用したログオンを処理するTwitterブートストラップでスタイル設定されたフォームの場合)。

<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" ...>。これにより、Play Frameworkが処理するサーバーにリクエストが送信されます。そのコードは、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 に答える