Javascript 使用表单值插入Meteor记录

Javascript 使用表单值插入Meteor记录,javascript,forms,input,meteor,Javascript,Forms,Input,Meteor,首先,我是一个完全的JS新手。我正在试验Meteor,我的目标是构建一个简单的表单,将记录插入表中。我设置了变量以从每个输入中获取值,并将这些变量放入插入方法中。当我单击按钮时,它会识别单击,但不会从输入中提取任何值。我肯定我错过了一些简单的东西,我只是不知道它是什么 这是JS: var Leads = new Meteor.Collection("Leads"); if (Meteor.is_client) { Template.Leads.LeadsArr = function(){

首先,我是一个完全的JS新手。我正在试验Meteor,我的目标是构建一个简单的表单,将记录插入表中。我设置了变量以从每个输入中获取值,并将这些变量放入
插入方法中。当我单击按钮时,它会识别单击,但不会从输入中提取任何值。我肯定我错过了一些简单的东西,我只是不知道它是什么

这是JS:

var Leads = new Meteor.Collection("Leads");

if (Meteor.is_client) {

  Template.Leads.LeadsArr = function(){
    return Leads.find();
  };

  Template.AddLeads.events = {

    "click input.submit" : function () {
      var name = document.getElementById('input#name').value();
      var email = document.getElementById('#email').value();
      var type = document.getElementById('#type').value();
      var date = document.getElementById('#date').value();
      var message = document.getElementById('#message').value();

      Leads.insert({leadName : name, leadEmail : email, leadType : type, leadDate : date, leadComment : message});

    }  
  };

} // end is_client

document.getElementById需要id,而不是选择器。此外,值是输入的属性,而不是函数。所以您的输入查询应该是这样的

var name = document.getElementById('name').value;
var email = document.getElementById('email').value;
var type = document.getElementById('type').value;
var date = document.getElementById('date').value;
var message = document.getElementById('message').value;

这完全有道理。这是我从jQuery带来的,但我没有注意方法或属性的上下文。谢谢在Meteor中,jQuery应该是内置的,对吗?因此,您仍然可以执行$('#name').val()等操作。