输入密钥立即提交表单

时间:2016-12-13 23:04:17

标签: javascript meteor

修改
此问题与建议的副本不同,因为它使用form元素和建议的副本不使用的事件submit form

一旦按下Enter键,此Meteor客户端代码需要触发submit form事件,而是将焦点移动到屏幕上的下一个输入元素,直到它到达最后一个元素,然后它触发提交,不是我们需要的东西,而是立即提交 怎么修好? THX

  Template.content.events({
  'submit form': function (event) {
    event.preventDefault();
    concole.log('form submitted');
  }
});
<template name="content">
  <form>
    {{#each this.items}} {{> sub}} {{/each}}
  </form>
</template>


<template name="sub">
  {{#if isEqual element "input"}} {{> input}} {{/if}}
</template>
<template name="input">
  <input class={{class}} type="{{#if type}}{{type}}{{else}}text{{/if}}" name={{name}} placeholder={{placeholder}} value={{value}} data-id={{_id}}>
</template>

1 个答案:

答案 0 :(得分:0)

有两个可以解决这个问题。

  1. &#39; type =&#34;提交&#34;&#39;:=您可以将type = submit设置为您的所有输入字段。
  2. 当用户在输入字段上按Enter键时调用提交方法。

    Template.content.events = {
       'keypress input': function (evt, template) {
         if (evt.which === 13) {
          $( "form" ).submit();
        }
      },
      'submit form': function (event) {
        event.preventDefault();
        concole.log('form submitted');
      }
    };