Scala lift框架,提交多个值的ajax表单?
发布时间:2020-12-16 18:58:32 所属栏目:安全 来源:网络整理
导读:我刚刚开始使用lift,我现在正在尝试将普通表单更改为ajax表单,但是从不调用processEntryAdd方法. def addUser(xhtml : Group) : NodeSeq = { var firstName = "" var lastName = "" def processEntryAdd() { Log.info("processEntryAdd: " + firstName + ","
我刚刚开始使用lift,我现在正在尝试将普通表单更改为ajax表单,但是从不调用processEntryAdd方法.
def addUser(xhtml : Group) : NodeSeq = { var firstName = "" var lastName = "" def processEntryAdd() { Log.info("processEntryAdd: " + firstName + "," + lastName) } SHtml.ajaxForm( bind("entry",xhtml,"firstName" -> SHtml.text(firstName,(x) => { Log.info("Setting firstName to " + x); firstName = x }),"lastName" -> SHtml.text(lastName,(x) => { Log.info("Setting lastName to " + x); lastName = x }),"submit" -> SHtml.submit("Add user",processEntryAdd),)) } 任何想法如何实现我想要做的,或为什么上面的代码不起作用. 谢谢! 解决方法
这个问题有点陈旧,但我最近需要自己知道,这是我迄今为止看到的最佳解决方案:
ajaxForm( bind("entry","firstName" -> text(firstName,firstName = _),"lastName" -> text(lastName,lastName = _),"submit" -> submit("Add user",processEntryAdd _),) ++ hidden(processEntryAdd _) ) 通过将处理添加到隐藏表单元素,您可以保留提交按钮,而无需更改任何视图代码. 您可以通过让processEntryAdd()返回JsCmd来添加客户端行为: def processEntryAdd() { Log.info("processEntryAdd: " + firstName + "," + lastName) JsRaw("alert('process entry added')") } (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |