SCALA Lift-AJAX形成多个值

SCALA Lift-AJAX形成多个值,ajax,scala,lift,Ajax,Scala,Lift,我有以下表格: <form class="lift:form.ajax"> <input type="hidden" class="lift:StreamIn" id="path" value="PATH" /> <input type="submit" value="" /> </form> 我要寻找的是一种通过多个输入向StreamServer传递多个值的方法 因此,它们将从表单中传递,而不是静态字符串值“James”、“_1

我有以下表格:

<form class="lift:form.ajax">
    <input type="hidden" class="lift:StreamIn" id="path" value="PATH" />
    <input type="submit" value="" />
</form>
我要寻找的是一种通过多个输入向StreamServer传递多个值的方法

因此,它们将从表单中传递,而不是静态字符串值“James”、“_1”和“demo room”


提前感谢您的帮助,非常感谢:)

在ajax表单上有几个输入字段可以吗? 如果是,那么:

<form class="lift:form.ajax">
  <div class="lift:StreamIn">
    <input type="text" name="path" />
    <input type="text" name="user" />
    <input type="text" name="level" />
    <input type="text" name="room" />
    <input type="hidden" name="hidden" />
  </div>
</form>
并将低优先级更改为:

override def lowPriority = {
  case StreamItem(userIn, pathIn, levelIn, roomIn) => {
    streams :+= StreamItem(userIn, pathIn, levelIn, roomIn);
    updateListeners()
  }

}
我遗漏了一些}但我希望您能理解,您可以省略一些字段,如房间和标高,如果您有这些字段,您可以使用RequestVar访问它们

您可以在


希望能有所帮助

谢谢你的帮助,现在已经走上正轨了。我已经完成了您提到的上述更改,但在编译时出现以下错误:“缺少扩展函数的参数类型”这会发生在每一行:“name=path”#>SHtml.onSubmit(path=>path=))等应该是“缺少‘expanded’函数的参数类型”ok,我更新了object StreamIn代码段以消除编译器错误,并编辑了html以添加隐藏字段感谢您的帮助,为什么我们需要隐藏输入?我的目标是隐藏表单值,例如path、room、level、user,并通过提交按钮提交表单。如果您使用常规表单,则不需要额外的隐藏字段,如果您使用ajax表单,jQuery不会将提交按钮发送到lift服务器,因此要使表单真正工作,您需要一个隐藏字段。
object StreamIn {
  case class StreamItem(user: String, path: String, level: String, room: String)
  def render = {
    var path= ""
    var user= ""
    var level= ""
    var room= ""
      def process(): JsCmd= {
        val message= StreamItem(user, path, level, room)
        StreamServer ! message
      }

    "name=path" #> SHtml.onSubmit(path= _ ) &
    "name=user" #> SHtml.onSubmit(user= _ ) &
    "name=level" #> SHtml.onSubmit(level= _ ) &
    "name=room" #> SHtml.onSubmit(room= _) &
    "name=hidden" #>  SHtml.hidden(process)

  }
}
override def lowPriority = {
  case StreamItem(userIn, pathIn, levelIn, roomIn) => {
    streams :+= StreamItem(userIn, pathIn, levelIn, roomIn);
    updateListeners()
  }

}