我正在使用Meteor.js处理示例CRUD应用程序,并且不确定如何最好地清空表单的字段。我在两个地方需要它:单击“提交”按钮时,以及单击“取消”按钮时。
我通过创建一个名为clearFormFields()的实用程序函数来实现它,该函数只使用jQuery来清空它们的内容,但它并没有感觉到" Meteoric"正如它应该;我认为应该更好地确定范围,因此它没有全球可见性。我做错了什么?
function clearFormFields() {
$("#description").val("");
$("#priority").val("");
}
Template.todoNew.events({
'click #cancel': function(event) {
event.preventDefault();
Session.set('editing', false);
clearFormFields();
},
'submit form': function(event) {
event.preventDefault();
var theDocument = {
description: event.target.description.value,
priority: event.target.priority.value
};
if (Session.get("editing")) {
Meteor.call("updateTodo", theDocument, Session.get('theDocumentId'))
}
else {
Meteor.call("insertTodo", theDocument);
}
Session.set('editing', false);
clearFormFields();
/* Could do this twice but hate the code duplication.
description: event.target.description.value = "";
priority: event.target.priority.value = "";
*/
}
});
答案 0 :(得分:14)
您可以使用DOM表单节点的本机重置方法吗?
"submit form":function(event,template){
event.preventDefault();
// ...
template.find("form").reset();
}
答案 1 :(得分:4)
可以通过event.target.reset();
访问和重置发起事件的DOM对象。"submit form":function(event){
event.preventDefault();
//...
event.target.reset();
}