我有这个片段:
<div width="300px">
<form class="lift:LoginForm.logIn?form=post" id="myform">
<fieldset>
<input type="email" id="l_n" name="name"/>
<input type="password" id="l_p" name="password"/>
<input type="submit" value=">>" />
</fieldset>
</form>
</div>
我的问题在于name="password"
部分。如果我按原样保留,则发布:
F811969795583JEBN3R aa@aa.com
F811969795584PURKON aaaa
F81196979558535XAIK true
F8119698955864YQEGF >>
F811969795631ROXIJO=aa%40aa.com&F811969795632SDW2QF=aaaa&F811969795633KC5QWR=true&F811969895634KA2IAC=%3E%3E
但我的密码字段被“取消屏蔽”(不知何故,它正在将其更改为常规编辑字段。另一方面,我的方法正确地获取值。
如果我以这种方式更改HTML代码(我将name='password'
更改为name='pwd'
)
<div width="300px">
<form class="lift:LoginForm.logIn?form=post" id="myform">
<fieldset>
<input type="email" id="l_n" name="name"/>
<input type="password" id="l_p" name="pwd"/>
<input type="submit" value=">>" />
</fieldset>
</form>
</div>
我的密码字段被正确屏蔽,但发布方式不同,我似乎无法获得“pwd”值。
F811969795611FN3BXU aa@aa.com
F811969895612OASG4Z >>
pwd aaaa
F811969795611FN3BXU=aa%40aa.com&pwd=aaaa&F811969895612OASG4Z=%3E%3E
作为一个新手,我完全糊涂了。我错过了什么? name='password'
对我的表格做了什么?
我正在使用Scala,Lift和FoBo的最新稳定版本。
答案 0 :(得分:3)
除了HTML之外,您还需要发布您的代码段以获取更多细节,但我怀疑您的CSS转换是否依赖于pwd
的名称,如:
"@password" #> SHtml.password(...)
这将查找代码段调用中的任何元素,并将其替换为密码字段。当您更改名称时,Lift无法再找到要转换的字段,您可以看到正在提交原始输入。
顺便提一下,您的其他字段也正在转换,但最有可能使用SHtml.text
,它将使用Lift生成的输入替换您的输入。像F811969795611FN3BXU
这样的名称是GUID标识符,它们对应于在服务器上创建的函数,这些函数将在提交时调用以处理该值。您可以在here上看到更多内容。