我的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);
});
}
答案 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'));
}
});