【问题标题】:Adding new elements from a form to a collection in Meteor将新元素从表单添加到 Meteor 中的集合
【发布时间】:2012-10-14 07:53:16
【问题描述】:

所以我有这个用例:

我在页面上有一个联系人列表,并希望允许用户将新联系人添加到列表中。 为了添加联系人,有一个可以填写两个输入的表单,还有一个发送表单的按钮。

这在 Meteor 中非常简单。我将提交事件绑定到表单,就像在这个 sn-p 中一样:

Template.contacts.events
  'submit #new_contact': (event) ->
    event.preventDefault()

    firstName = $('#first_name').val()
    lastName = $('#last_name').val()

    Contacts.insert(firstName: firstName, lastName: lastName)
    $('#new_contact input').val('') # Clear the inputs

好吧,这也很容易,但我不喜欢在表单中引用特定 id,使用 JQuery 获取它们,然后将新联系人插入列表的想法。我也认为这必须非常糟糕地扩展,如果表单有 20 个字段,我必须在表单中搜索 20 个元素,这看起来不是很干净。

我想知道是否有解决此问题的更好方法,例如将表单输入绑定到对象/集合,以便在用户在表单中引入数据时自动更新,然后仅在表单被提交。

【问题讨论】:

    标签: coffeescript meteor


    【解决方案1】:

    自动支持这个计划(我认为),但与此同时,您可能可以通过使用模板对象来解决大部分反对意见:

    Template.contact.events
      'submit form.contact': (event, template) ->
         firstName = template.find('input[name=first_name]').value
    

    或者,在事件助手的主体中,this.currentTarget 是表单本身。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2016-09-16
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多