• Meteor表单


    在本教程中,我们将告诉你如何使用 Meteor 的表单。

    文本输入

    首先,我们将创建一个 form 元素中文本输入字段和提交按钮。

    meteorApp/import/ui/meteorApp.html

    <head>
       <title>meteorApp</title>
    </head>
     
    <body>
       <div>
          {{> myTemplate}}
       </div>
    </body>
     
    <template name = "myTemplate">
       <form>
          <input type = "text" name = "myForm">
          <input type = "submit" value = "SUBMIT">
       </form>
    </template> 

    在JavaScript文件中,我们将创建 submit 事件。我们需要防止默认事件的行为以停止刷新浏览器。下一步,我们要使用输入字段的内容,并将其文本值赋值给变量 textValue 。 在这个例子中,我们只记录了内容输出到开发者控制台。最后一件事是明确的输入字段。

    meteorApp/client/main.js

    import { Template } from 'meteor/templating';
    Template.myTemplate.events({
      'submit form': function(event){
         event.preventDefault();
         var textValue = event.target.myForm.value;
         console.log(textValue);
         event.target.myForm.value = "";
      }
    });
    当我们在输入栏中键入“一些文字...”,然后点击提交。控制台将记录下我们输入的文本。
    单选按钮
    类似的概念,我人使用单选按钮。

     

    meteorApp/import/ui/meteorApp.html

    <head>
       <title>meteorApp</title>
    </head>
     
    <body>
       <div>
          {{> myTemplate}}
       </div>
    </body>
     
    <template name = "myTemplate">
       <form>
          <input type = "radio" name = "myForm" value = "form-1">FORM 1
          <input type = "radio" name = "myForm" value = "form-2">FORM 2
          <input type = "submit" value = "SUBMIT">
       </form>
    </template>
    

     

    meteorApp/client/main.js

    import { Template } from 'meteor/templating';
    Template.myTemplate.events({
      'submit form': function(event){
         event.preventDefault();
         var radioValue = event.target.myForm.value;
         console.log(radioValue);
      }
    });
    当我们提交的第一个按钮,控制台会显示以下输出。

    Checkbox - 复选框

    下面的例子演示了如何使用复选框。可以看到我们只是重复同样的过程。

     

    meteorApp/import/ui/meteorApp.html

    <head>
       <title>meteorApp</title>
    </head>
     
    <body>
       <div>
          {{> myTemplate}}
       </div>
    </body>
     
    <template name = "myTemplate">
       <form>
          <input type = "checkbox" name = "myForm" value = "form-1">FORM 1
          <input type = "checkbox" name = "myForm" value = "form-2">FORM 2
          <input type = "submit" value = "SUBMIT">
       </form>
    </template>
    

     

    meteorApp/client/main.js

    Template.myTemplate.events({
      'submit form': function(event){
         event.preventDefault();
         var checkboxValue1 = event.target.myForm[0].checked;
         var checkboxValue2 = event.target.myForm[1].checked;
         console.log(checkboxValue1);
         console.log(checkboxValue2);
      }
    });
    当提交表单,虽然它们未选中一个那么将会被记录为 false,如果有选中一个检查输入将被记录为 true 。

    下拉选项

    在这个例子中,我们将展示如何使用select元素。我们将使用更改事件,以每次变化更新数据的选项。

     

    meteorApp/import/ui/meteorApp.html

    <head>
       <title>meteorApp</title>
    </head>
     
    <body>
       <div>
          {{> myTemplate}}
       </div>
    </body>
     
    <template name = "myTemplate">
       <select>
          <option name = "myOption" value = "option-1">OPTION 1</option>
          <option name = "myOption" value = "option-2">OPTION 2</option>
          <option name = "myOption" value = "option-3">OPTION 3</option>
          <option name = "myOption" value = "option-4">OPTION 4</option>
       </select>
    </template>
    

     

    meteorApp/client/main.js

    if (Meteor.isClient) {
    
       Template.myTemplate.events({
          'change select': function(event){
             event.preventDefault();
             var selectValue = event.target.value;
             console.log(selectValue);
          }
       });
    
    }
    
    如果选择第三个选项,那么控制台将记录选项值。
  • 相关阅读:
    轮播图
    原生js实现分页效果(带实例)
    mint-ui Toast icon 图标
    阮小二买彩票
    js事件冒泡和事件捕捉
    html,css,js加载顺序
    单调栈-哈希表-768. 最多能完成排序的块 II
    同余问题-三整除系列
    动态规划-区间dp-单调栈-1130. 叶值的最小代价生成树
    动态规划-1Ddp-983. 最低票价
  • 原文地址:https://www.cnblogs.com/h2zZhou/p/7389917.html
Copyright © 2020-2023  润新知