如何从流星形式列表中的表单中获取正确的提交?

时间:2015-08-18 16:27:21

标签: meteor

我的meteor应用程序页面中有一个表单列表,列表是动态生成的,所有表单都有相同的类。 所以我在我的模板的事件区域提交了事件,但是当我提交表单时,只有第一个表单有效,如果我提交第二个表格,例如,流星事件了解事件来自第一个,我不知道'k知道如何将表单id传递给meteor事件,所以我无法从正确的表单中获取数据。有人可以帮帮我吗?

这是我的活动:

'submit .form-equation': function (e, t) {
        e.preventDefault();

        var name = t.find('#name').value,
            equation = t.find('#equation').value,
            order = Number(t.find('#order').value),
            isChart = t.find('#isChart').checked;

        var equationData = {
            name: name,
            equation: equation,
            order: order,
            isChart: isChart
        };

        var station = Stations.findOne(Session.get('stationNewID'));
        var sensorId = t.find('#sensorId').value;

        Meteor.call('insertEquation', station, sensorId, equationData, function (error, result) {
            if (error)
                console.log(error);

        });
    }

1 个答案:

答案 0 :(得分:2)

我认为你的申请还有其他问题。您描述的行为(具有不同ID的同一类的多个形式)在一个干净的示例上正常工作。

查看我制作的演示文稿:http://meteorpad.com/pad/8CPL2xvS7taeL6jZS/MultipleFormSubmitExample

基本上,表单看起来像这样:

<template name="example">
  <form id="1" class="yolo">
    <input type="submit" value="Submit">
  </form> 
  <form id="2" class="yolo">
    <input type="submit" value="Submit">
  </form> 
  <form id="3" class="yolo">
    <input type="submit" value="Submit">
  </form> 
</template>

并且只有一个事件监听器:

Template.leaderboard.events({
  'submit .yolo': function (e, t) {
    e.preventDefault();

    alert($(e.target).attr('id'));
  }
});