我想读取'input'的值,然后控制器将输入传递给getTask(task: String)
方法。
我该怎么做?这是我的代码片段。
@form(routes.Application.getTask("url")) {
@inputText(taskForm("hash"))
<input type="submit" value="Get">
}
答案 0 :(得分: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" ...>
发布表单。这将向服务器发送一个请求,播放框架将处理,在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
是已解析的表单对象。