2011-03-18 43 views
0

问候定制注册“signupXhtml”

我使用的下一个对象来定制signupXhtml形式

的代码是下一

对象用户与MetaMegaProtoUser [用户]使用reCAPTCHA {延伸用户

............................................ 。 ........................................... ...... ......................................

override def signupXhtml(user: User) = { 
     (<form method="post" action={ S.uri }> 
      <table> 
      <tr><td colspan="2">{ S.??("sign.up") }</td></tr> 
      { localForm(user, false, signupFields) } 
      <tr><td>&nbsp;</td><td>{ captchaXhtml() }</td></tr> 
      <tr><td>&nbsp;</td><td><user:submit/></td></tr> 
      </table> 
     </form>) 
    } 

............................................ ............................................ .... ........................................ }

and the output in HTML是下一个

 <form action="/my/signup" method="post"> 
      <table> 

      <tr><td colspan="2">Sign Up</td></tr> 
      <tr> 
      <td>Username</td> 
      <td> 
      <input id="txtFirstName" name="F443739586660TOG" type="text" maxlength="32" value="" /> 
      </td> 
      </tr> 
      <tr> 
      <td>Lastname</td> 
      <td> 
      <input id="txtLastName" name="F443739586661IYO" type="text" maxlength="32" value="" /> 
      </td> 
      </tr> 
      <tr> 
      <td>email</td> 
      <td> 
      <input id="txtEmail" name="F443739586662Z43" type="text" maxlength="48" value="" /> 
      </td>                              
      </tr> 
      <tr> 
      <td>passwd</td> 
      <td> 
        <span> 
          <input value="*******" type="password" name="F443739586663IFM" /> Repeat 
          <input value="*******" type="password" name="F443739586663IFM" /> 
        </span> 
      </td> 
      </tr> 

      ............................................... 

      </table> 
     </form> 

我需要自定义电子邮件字段,如下所示:

 <input id="txtEmail" name="F443739586662Z43" type="text" maxlength="48" value="" onblur="return my_function();"/> 

如何插入onblur =“return my_function();”在txtEmail元素?

我的评论:

http://scala-tools.org/mvnsites/liftweb-2.0/framework/lift-persistence/scaladocs/net/liftweb/mapper/ProtoUser.scala.html#Some%2896%29

这:

http://www.devcomments.com/Example-custom-registration-at1131253.htm

,但没有发现任何东西来帮助我

人有任何想法?

拜托!

回答

0

我知道您可以通过在创建SHTML.text元素时将脚本作为参数来将脚本命令附加到lift中大部分构建的ajax元素中。电梯布线也是你可能想要考虑的事情,我知道Lift In Action有一章详细介绍了如何将javascript附加到ajax元素以及布线,以便您可以查看。你也可以张贴此邮件列表或者看看通过它,它可能会提供最好的结果

0

在User类做这样的事情:

override lazy val email = new CustomizedEmailField 

protected class CustomizedEmailField(obj: User, size: Int) extends EmailField(obj, size) { 
     override def toForm: Box[NodeSeq] = 
     Full(SHtml.text("[email protected]", (s) => Alert("hello "+s), ("onblur", "callMyFunc();"))) 
    } 

这应该覆盖默认的电子邮件领域。