Forms Meteor和Modals-清除表单字段并重置表单

Forms Meteor和Modals-清除表单字段并重置表单,forms,meteor,modal-dialog,uikit,Forms,Meteor,Modal Dialog,Uikit,我试图在表单使用模式提交后清除表单。我注意到,如果下次有人试图在表单中输入数据时,我尝试让一个助手函数清除表单或字段,它会以某种方式缓存或保存以前的信息 例如,有人在纽约创建了一个名为my fav bars的列表,并将其保存。当用户想要在布鲁克林创建另一个名为fav bars的列表时,modal仍然具有上一个列表中的信息——不仅如此,即使用户删除其中的内容并用新列表名替换,也不会实际保存用户创建的下一个列表 我已经尝试了所有的方法,比如执行form.reset、使用helper函数清除字段等等,

我试图在表单使用模式提交后清除表单。我注意到,如果下次有人试图在表单中输入数据时,我尝试让一个助手函数清除表单或字段,它会以某种方式缓存或保存以前的信息

例如,有人在纽约创建了一个名为my fav bars的列表,并将其保存。当用户想要在布鲁克林创建另一个名为fav bars的列表时,modal仍然具有上一个列表中的信息——不仅如此,即使用户删除其中的内容并用新列表名替换,也不会实际保存用户创建的下一个列表

我已经尝试了所有的方法,比如执行form.reset、使用helper函数清除字段等等,但似乎没有任何效果。有人碰到过这个吗

我甚至试过这个-

Template.listSubmit.created = function() {
        var listField = document.getElementById('list-name').value;
        listField.value = "";
};

可能是表单自动完成。您可以通过以下方式禁用此功能:

<form autocomplete='off'>
如果你在纽约的mongo系列中插入my fav bars

userFavPlaces = new Mongo.Collection('places')
Template.list.event({
  'submit #submit':function(){
     userFavPlaces.insert(values,function(err){
       if(!err){
              $('#list-name').val(''); //Jquery
              var listField = document.getElementById('list-name').value = ''; //pure JS
            }
      }
   }
})
你可以这样做

userFavPlaces = new Mongo.Collection('places')
Template.list.event({
  'submit #submit':function(){
     userFavPlaces.insert(values,function(err){
       if(!err){
              $('#list-name').val(''); //Jquery
              var listField = document.getElementById('list-name').value = ''; //pure JS
            }
      }
   }
})

如果没有,David回答就够了。

似乎在模板创建中也做了类似的事情。基本上,当加载主模板时,即当您按“创建新列表”时显示的主视图和模式时,会触发它。因此本质上,它只触发渲染函数一次,而不是每次触发模态。我假设它只会在模态被实际加载和显示时才会触发,这是一个重要的观点。我假设listSubmit是模式中呈现的模板。如果不是,则呈现回调将不会直接起作用。如果是,那么这完全取决于模态库的工作方式。我们在Edthena使用的那个,我可能应该开源,当实际的模式模板被呈现时,它会给你一个回调,以帮助你处理这种情况。本质上,listSubmit是从main layout.html调用的,并且在单击“创建列表”链接时被调用。。。{{>listSubmit}}好的,是的,我试过了-它在我第一次触发模式时触发,但之后就没有了。你的from有多少个字段?例如,如果您有7个输入,请确保用户填写7个输入字段,它应该可以工作