【问题标题】:How to get the right submit from a form in a list of forms in meteor?如何从流星表单列表中的表单中获取正确的提交?
【发布时间】:2015-11-11 16:59:38
【问题描述】:

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

这是我的活动:

'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);

        });
    }

【问题讨论】:

    标签: meteor


    【解决方案1】:

    我认为您的申请还有其他问题。您描述的行为(具有不同 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'));
      }
    });
    

    【讨论】:

    • 谢谢你,你的例子解决了我的问题。我只使用目标而不是 event.target 来获取字段的值,这种方法适用于单个表单,但不适用于表单列表,因此获取值的正确方法是 $(e.target)。 find('#name').val();
    猜你喜欢
    • 1970-01-01
    • 2016-03-19
    • 2012-06-12
    • 1970-01-01
    • 2015-11-24
    • 1970-01-01
    • 2021-05-06
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多