1

我有这个片段:

<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 的最新稳定版本。

4

1 回答 1

3

除了 HTML 之外,您还需要发布您的代码片段以获取更多细节,但我怀疑您的 CSS 转换正在键入 的名称pwd,例如:

"@password" #> SHtml.password(...)

这将在代码段调用中查找任何元素并将其替换为密码字段。当您更改名称时,Lift 无法再找到要转换的字段,您可以看到您的原始输入正在提交。

顺便说一句,您的其他字段也正在转换,但很可能使用SHtml.text它将用 Lift 生成的输入替换您的输入。像这样的名称F811969795611FN3BXU是 GUID 标识符,对应于在服务器上创建的函数,这些函数将在提交时调用以处理值。你可以在这里看到更多。

于 2013-09-30T11:09:51.083 回答