流星:带有两个提交按钮的表单(在事件处理程序中单击确定按钮)

地亚哥

我有一个简单的表单,有两个输入:“ title”和_“ description”,以及两个按钮:“ save”(保存以供以后使用)和“ submit”。对于这两种方式,我都希望获取表单字段的值并相应地插入/更新集合。

<template name="NewScenarioForm">
  <form id="newScenarioForm" >
    <textarea type="text" id="title" name="title" rows="1" cols="75" placeholder="Type to add a title"></textarea><br/>
    <textarea type="text" id="description" name="description" rows="4" cols="100" placeholder="Type to add a description" ></textarea><br/>

    <input type="submit" id="saveScenarioButton" name="action" title="Save Scenario" value="Save" />
    <input type="submit" id="submitScenarioButton" name="action" title="Submit for approval" value="Submit" />       
 </form>
</template>

现在,我正在检测这样的事件:

"click #saveScenarioButton": function(event, template) {
    event.preventDefault(); 
    var title = template.find("#title").value;
    var description = template.find("#description").value;
    ...
   //Do stuff with this information to persist information
   Meteor.call("saveScenario", title, description);
   ....
 }

我需要为另一个按钮重复整个功能。我想检测该事件并确定按下了哪个按钮。

我一直在努力与类似的事件处理程序:

"submit #newScenarioForm": function(event) { 

但是然后我不知道如何确定单击的按钮,因为我无法确定事件属性。如果我想在事件处理程序中使用表单ID而不是每个按钮的ID,是否可以确定按钮(或者是一种更智能的方法)?

汤类

您可以使用类型Submit作为事件目标输入:

Template.NewScenarioForm.events({
    "click input[type=submit]": function(e) {
        if ($(e.target).prop("id") == "saveScenarioButton") {
            // Save the scenario
        } else if ($(e.target).prop("id") == "submitScenarioButton") {
            // Submit the scenario
        }
    }
});

您也可以让它检查单击的按钮的值,然后删除ID字段

请注意,这不会处理提交表单的其他方式,例如,用户在输入字段中按Enter。处理此问题的一种方法可能是定义一些函数:

function scrapeForm() {
    // Collects data from the form into an object
}

function saveData() {
    var formData = scrapeForm();
    // More logic to save the data
}

function submitData() {
    var formData = scrapeForm();
    // More logic to submit the data
}

Template.NewScenarioForm.events({
    "click input[type=submit]": function(e) {
        if ($(e.target).prop("id") == "saveScenarioButton") {
            saveData();
        } else if ($(e.target).prop("id") == "submitScenarioButton") {
            submitData();
        }
    },
    "submit #NewScenarioForm":
        // Default action on submit.
        // Either save the data
        saveData
        // or submit the data
        submitData
        // or nothing, requiring the user to actually click one of the buttons
        function(e) {e.preventDefault();}
});

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

Symfony 2表单,带有两个提交按钮

来自分类Dev

带有两个提交按钮的表单laravel 6

来自分类Dev

带有两个按钮的表单

来自分类Dev

div中的两个按钮均带有onclick事件-单击按钮时如何仅触发两个按钮?

来自分类Dev

div中的两个按钮都带有onclick事件-单击按钮时如何仅触发两个按钮?

来自分类Dev

有两个提交按钮并知道单击了哪个按钮

来自分类Dev

如何告诉我的NodeJS服务器在带有两个按钮的HTTP表单中单击了哪个按钮?

来自分类Dev

两个提交表单的提交按钮

来自分类Dev

如何处理我的表单中的两个提交按钮

来自分类Dev

Web应用程序:Flask-html-wtforms:具有两个提交按钮的表单

来自分类Dev

两个按钮提交表单问题

来自分类Dev

同一表单中的两个提交按钮

来自分类Dev

带有两个提交按钮的jQuery Validation插件?

来自分类Dev

处理提交按钮的单击事件后未提交表单

来自分类Dev

使用带有提交按钮和重置按钮的JavaScript计算表单中的两个字段

来自分类Dev

使用带有提交按钮和重置按钮的JavaScript计算表单中的两个字段

来自分类Dev

带有两个提交按钮的Django表单。。。一个需要字段,一个不需要

来自分类Dev

确定在Django表单提交中单击了哪个提交按钮

来自分类Dev

带有两个提交按钮的表单,但在任何给定时间仅显示一个

来自分类Dev

如何处理流星中的按钮单击事件?

来自分类Dev

如何处理流星中的按钮单击事件?

来自分类Dev

使用JavaScript处理带有多个提交按钮的表单提交

来自分类Dev

jQuery Ajax 表单两个提交按钮在一个表单中

来自分类Dev

带有取消和提交按钮的Bootstrap模式弹出表单,无论单击哪个按钮提交表单

来自分类Dev

表单中的两个按钮

来自分类Dev

表单中的两个按钮

来自分类Dev

单击提交<按钮>之后,在事件处理程序中访问<form>内容,该内容位于<form>之外

来自分类Dev

如何使.php表单提交按钮两个动作

来自分类Dev

Ajax提交表单自我页面-两个按钮

Related 相关文章

  1. 1

    Symfony 2表单,带有两个提交按钮

  2. 2

    带有两个提交按钮的表单laravel 6

  3. 3

    带有两个按钮的表单

  4. 4

    div中的两个按钮均带有onclick事件-单击按钮时如何仅触发两个按钮?

  5. 5

    div中的两个按钮都带有onclick事件-单击按钮时如何仅触发两个按钮?

  6. 6

    有两个提交按钮并知道单击了哪个按钮

  7. 7

    如何告诉我的NodeJS服务器在带有两个按钮的HTTP表单中单击了哪个按钮?

  8. 8

    两个提交表单的提交按钮

  9. 9

    如何处理我的表单中的两个提交按钮

  10. 10

    Web应用程序:Flask-html-wtforms:具有两个提交按钮的表单

  11. 11

    两个按钮提交表单问题

  12. 12

    同一表单中的两个提交按钮

  13. 13

    带有两个提交按钮的jQuery Validation插件?

  14. 14

    处理提交按钮的单击事件后未提交表单

  15. 15

    使用带有提交按钮和重置按钮的JavaScript计算表单中的两个字段

  16. 16

    使用带有提交按钮和重置按钮的JavaScript计算表单中的两个字段

  17. 17

    带有两个提交按钮的Django表单。。。一个需要字段,一个不需要

  18. 18

    确定在Django表单提交中单击了哪个提交按钮

  19. 19

    带有两个提交按钮的表单,但在任何给定时间仅显示一个

  20. 20

    如何处理流星中的按钮单击事件?

  21. 21

    如何处理流星中的按钮单击事件?

  22. 22

    使用JavaScript处理带有多个提交按钮的表单提交

  23. 23

    jQuery Ajax 表单两个提交按钮在一个表单中

  24. 24

    带有取消和提交按钮的Bootstrap模式弹出表单,无论单击哪个按钮提交表单

  25. 25

    表单中的两个按钮

  26. 26

    表单中的两个按钮

  27. 27

    单击提交<按钮>之后,在事件处理程序中访问<form>内容,该内容位于<form>之外

  28. 28

    如何使.php表单提交按钮两个动作

  29. 29

    Ajax提交表单自我页面-两个按钮

热门标签

归档