javascript - Meteor - 无法阻止刷新

标签 javascript meteor

我有两个不同的模板,它们使用日期选择器将带有日期的子文档插入到文档中。一种有效,一种无效,尽管它们看起来相同。到期插入工作正常;延迟直到插入只是刷新页面。我正在使用 rajit:bootstrap3-datepicker 包。

HTML(压缩):

<template name="itemsList">
  {{#each actionItems}}
    {{> item}}
  {{/each}}
</template>

<template name="item">
  <div class="item">
    <div class="item-content">
      <div class="mod-table">
        <form class="form-inline mod-field">
          {{#unless actionItem}}
            {{> delayUntil}}
          {{/unless}}
        </form>
        {{#if actionItem}}
          {{> actionModtable}}
        {{/if}}
      </div>
    </div>
  </div>
</template>

<template name="delayUntil">
  <form class="form-inline delay-until">  
    <div class="mod-field">
      <input type="text" class="form-control" name="text" id="delay-until-picker" placeholder="Ignore until..." /><button class="btn btn-default" type="submit">Submit</button>
    </div>
  </form>
</template>

<template name="actionModtable">      
  {{> datepicker}}
</template>

<template name="datepicker">
  <form class="form-inline item-due">  
    <div class="mod-field">
      <input type="text" class="form-control" name="text" id="due-date-picker" placeholder="Enter due date" /><button class="btn btn-default" type="submit">Submit</button>
    </div>
  </form>
</template>

JS(精简):

Template.datepicker.rendered = function() {
  $('#due-date-picker').datepicker({
    todayBtn: true,
    autoclose: true,
    todayHighlight: true
  });
};

Template.datepicker.events({
  'submit .item-due': function(event) {
    event.preventDefault();

    var itemDue = event.target.text.value;

    Items.update(this._id, {$set: {itemDue: itemDue}});

    event.target.text.value = "";

    return false;
  },
});

Template.delayUntil.rendered = function() {
  $('#delay-until-picker').datepicker({
    todayBtn: true,
    autoclose: true,
    todayHighlight: true
  });
};

Template.delayUntil.events({
  'submit .delay-until': function(event) {
    event.preventDefault();

    var delayUntil = event.target.text.value;

    Items.update(this._id, {$set: {delayUntil: delayUntil}});

    event.target.text.value = "";

    return false;
  },
});

最佳答案

所以这个答案有点愚蠢。我有一个嵌入表单的表单(哎呀)。我摆脱了巢穴,世界又恢复正常了。

关于javascript - Meteor - 无法阻止刷新,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27972532/

相关文章:

javascript - 从 javascript 函数和 onkeydown 显示输出

javascript - 如何将变量写入一定次数?

javascript - Jest "Cannot log after tests are done. Did you forget to wait for something async in your test?"

android - 传单 map 图 block 不会在 Meteor Cordova 应用程序上加载

meteor - 捆绑 Meteor 应用程序时出错?

meteor - 暂时禁用 Meteor 测试包(例如 Velocity + Mocha)而不删除它们

javascript - 如何在 android 7 中加载 html 之前在 webview 中注入(inject) javascript 脚本

javascript - 表单验证并提交ajax

javascript - ADMIN LTE 通知下拉菜单不包含内容

javascript - Meteor Collection 中的对象