Wou*_*ter 2 scala playframework-2.0
我正在使用以下代码在Play中创建表单:
@inputText(loginForm("password"),
'type -> "password",
'_label -> null)
Run Code Online (Sandbox Code Playgroud)
它生成以下HTML代码:
<dl class=" " id="password_field">
<dt><label for="password"></label></dt>
<dd>
<input type="password" id="password" name="password" value="">
Run Code Online (Sandbox Code Playgroud)
虽然我希望它生成:
<input type="password" id="password" name="password" value="">
Run Code Online (Sandbox Code Playgroud)
有这么简单的方法吗?
小智 7
您可以通过创建自定义FieldConstructor来实现此目的(请参阅http://www.playframework.com/documentation/2.3.x/ScalaCustomFieldConstructors).
创建一个views/helper/myPlainFieldConstructor.scala.html包含以下内容的新文件:
@(elements: helper.FieldElements)
@elements.input
Run Code Online (Sandbox Code Playgroud)
[供参考,你可以在这里看到默认的字段构造函数.]
然后,在包含您的表单的视图模板中:
@import helper._
@implicitField = @{ FieldConstructor(myPlainFieldConstructor.f) }
[...]
@form(action = ...) {
@inputPassword(loginForm("password"))
}
Run Code Online (Sandbox Code Playgroud)
注意:如果确实需要value="",可以添加'value -> ""帮助程序的参数,即
@inputPassword(loginForm("password"), 'value -> "")
Run Code Online (Sandbox Code Playgroud)
或者使用通用input助手进一步自定义HTML ,如下所示:
@input(loginForm("password")) { (id, name, value, args) =>
<input type="password" name="@name" id="@id" value="" @toHtmlArgs(args)>
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2810 次 |
| 最近记录: |