我正在使用Meteor 0.9.1 / 帐号密码/ 帐户-ui / 铁:路由器/ mizzao:自举-3
我的目标:让用户构建调查问卷并将其保存到用户个人资料中。
特点:
使用以下代码,我可以从输入ID' question1'中检索数据。并使其可用于我需要帮助编写的方法函数。
HTML:
<template name="questionnaire">
<form class="form-horizontal" role="form" id="createquestion">
<div class="form-group form-group-lg">
<label class="col-sm-2 control-label" for="question" >Question</label>
<div class="col-sm-10">
<input class="form-control" type="text" id="question1" value="" placeholder="type your question here..."/>
</div>
</div>
<button type="button" class="btn btn-default">+ another question</button>
<input type="submit" value="save">
</form></template>
client.js:
Template.questionnaire.events({
'submit form': function(e) {
e.preventDefault();
var qdata = {
question: $(e.target).find('#question1').val()
}
Meteor.call('insertQdata', qdata);
} });
您能否建议如何将所有问题保存到一系列字段中?问题&#39;用户个人资料?
谢谢
答案 0 :(得分:0)
看看autoform:https://atmospherejs.com/aldeed/autoform。它内置了引导支持,所以一切都会很好看!
您可以像这样定义架构:
questionSchema = new SimpleSchema({
questions: {
type: [String],
label: "Question"
}
});
然后使用类似下面的代码在某处插入表单(查看autoform docs以获取更多信息):
{{#autoForm schema=questionSchema id="someId" type="method" meteormethod="insertData"}}
{{> afQuickField name="questions"}}
{{/autoForm}}
然后最后在您的流星方法中执行以下操作:
insertData: function(doc){
Meteor.user().questions = doc.questions;
}
这应该做的工作没有太多麻烦添加额外的按钮。我还没有对代码进行测试,所以如果遇到问题,请发表评论。
希望这有帮助。