2011-11-13 42 views
2

我有一个基于http://simply.liftweb.net/index-4.2.html#toc-Section-4.2中示例的表单,我想知道是否有一种在页面上有按钮的方法,每次单击它时都会添加一个textarea ,然后在提升代码中将它作为一个字符串数组。将textareas客户端动态添加到电梯中的表格

什么,我想象是这样的:

<form class="lift:OnSubmit?form=post"> 
    Name: <input name="name"><br> 
    Age: <input name="age" value="0"><br> 
<span id="somecomments"></span> 
<input type="button" onclick="$('#somecomments').append($('<textarea cols=80 rows=10 name=comments>'))" value="Add Comment"/> 
    <input type="submit" value="Submit"> 
</form> 

//in scala: 
object OnSubmit { 
    def render = { 
    var name = "" 
    var age = 0 
    var comments = List("")​ 
    def process() { 
     S.notice("Name: "+name) 
     S.notice("Age: "+age) 
     S.notice(comments) 
     S.redirectTo("/") 
     } 
    }​ 
    "name=name" #> SHtml.onSubmit(name = _) & 
    "name=age" #> SHtml.onSubmit(s => asInt(s).foreach(age = _)) & 
    "name=comments" #> SHtml.onSubmit(comments = _) & 
    "type=submit" #> SHtml.onSubmitUnit(process) 
    } 
} 

但我得到的编译错误的注释字段是一个字符串,所以我不能把它分配给了“NAME =评论”列表#> SHtml.onSubmit(comments = _)

使这个代码工作的最好方法是什么?

+0

你有没有想过如何做到这一点?我正在寻找“正确的方式”做同样的事情,并且正在努力找出一种不喜欢电梯的方式来做到这一点。 –

回答

0

的预谋:

"name=comments" #> SHtml.onSubmit(comments ::= _) 

为附加:

"name=comments" #> SHtml.onSubmit(comments :+= _) 
+0

如果我将HTML更改为具有名为“comments”的多个textareas,但它不适用于由javascript动态添加的字段。我希望能够多次点击按钮并添加所有这些新的textareas – user1043466

+0

啊,对不起,我只回答了编译错误部分。 – Debilski

相关问题