通过表单将数据提交到集合中
Submitting data through forms into a collection
我正在创建反馈 modal,允许用户向我提交有关网页的反馈。模态框内 形式 的代码是:
<div class="modal-body">
<form class='feedbackForm'>
<div class="form-group">
<label for="form-control">Feedback</label>
<input type="text" class="form-control" name="feedbackForm"
id="feedbackForm" placeholder="Feedback">
</div>
<div class="modal-footer">
<button type="button" class="btn btn-secondary" data-
dismiss="modal">Close</button>
<button type="submit" class="btn btn-primary">Submit Feedback</button>
</div>
</form>
</div>
同样的助手是:
"submit .feedbackForm": function(event){
var Feedbackvar = event.target.Feedbackvar.value;
//Insert feedback
Feedback.insert({
FeedbackData: 'Feedbackvar'
});
}
此外,我正在使用 collections 2 包并为反馈收集定义了一个架构:
Feedback = new Mongo.Collection("feedback");
Feedback.attachSchema(new SimpleSchema({
FeedbackData:{
type: String
},
userId:{
type: String,
autoValue: function(){
return Meteor.userId()
}
},
CreatedAt:{
type: Date,
autoValue: function(){
return new Date()
}
}
}));
问题是我无法借助表单将反馈插入集合,但借助控制台,我可以插入数据。
这里有很多错误,但以下应该提供快速修复:
- 将
event.target.Feedbackvar.value
更改为event.target.feedbackForm.value
- 从
insert
中的引号中取出 Feedbackvar
- 这只是试图插入 string
"FeedbackVar"
这些更改应该可以正常工作,但您仍然需要花时间查看整个内容 - 例如,您的 form
有 class
feedbackForm
,这是与您的 input
的 name
及其 id
相同 - 非常混乱。
您可能还想考虑使用 textarea
而不是简单的 text input
作为反馈表。
我正在创建反馈 modal,允许用户向我提交有关网页的反馈。模态框内 形式 的代码是:
<div class="modal-body">
<form class='feedbackForm'>
<div class="form-group">
<label for="form-control">Feedback</label>
<input type="text" class="form-control" name="feedbackForm"
id="feedbackForm" placeholder="Feedback">
</div>
<div class="modal-footer">
<button type="button" class="btn btn-secondary" data-
dismiss="modal">Close</button>
<button type="submit" class="btn btn-primary">Submit Feedback</button>
</div>
</form>
</div>
同样的助手是:
"submit .feedbackForm": function(event){
var Feedbackvar = event.target.Feedbackvar.value;
//Insert feedback
Feedback.insert({
FeedbackData: 'Feedbackvar'
});
}
此外,我正在使用 collections 2 包并为反馈收集定义了一个架构:
Feedback = new Mongo.Collection("feedback");
Feedback.attachSchema(new SimpleSchema({
FeedbackData:{
type: String
},
userId:{
type: String,
autoValue: function(){
return Meteor.userId()
}
},
CreatedAt:{
type: Date,
autoValue: function(){
return new Date()
}
}
}));
问题是我无法借助表单将反馈插入集合,但借助控制台,我可以插入数据。
这里有很多错误,但以下应该提供快速修复:
- 将
event.target.Feedbackvar.value
更改为event.target.feedbackForm.value
- 从
insert
中的引号中取出Feedbackvar
- 这只是试图插入string
"FeedbackVar"
这些更改应该可以正常工作,但您仍然需要花时间查看整个内容 - 例如,您的 form
有 class
feedbackForm
,这是与您的 input
的 name
及其 id
相同 - 非常混乱。
您可能还想考虑使用 textarea
而不是简单的 text input
作为反馈表。