Итак, я создаю приложение для викторины, где люди могут создавать викторины, и я хотел бы лучше понять, как метеор может обрабатывать динамические формы. Викторина будет чем-то вроде «Какой персонаж« Звездных войн »?Динамически добавлять поля формы в MeteorJS
Затем пользователь заполнит «описательные существительные», такие как Chewbacca, R2D2 и т. Д., Чтобы создать викторину. Однако я бы хотел, чтобы пользователь мог выбрать, сколько описательных существительных, нажав кнопку добавления, чтобы добавить больше вариантов. Я мог бы, вероятно, выяснить, как изменить атрибут имени, например «descriptive-noun2», «descriptive-noun3» на HTML-стороне вещей, но я не могу понять, как это сделать для события отправки. У них также будет изображение, связанное с ними. Есть ли способ, которым я могу представить это как массив, или как еще я могу динамически отправлять их в базу данных? Спасибо!
HTML:
<div class="control-group noun">
<label class="control-label" for="descriptive-noun"></label>
<div class="controls">
<input name="descriptive-noun" type="text" value=""/>
</div>
</div>
<div class="control-group noun">
<label class="control-label" for="descriptive-noun"></label>
<div class="controls">
<input name="descriptive-noun" type="text" value=""/>
</div>
</div>
JavaScript:
Template.quizSubmit.events({
'submit form': function(e) {
e.preventDefault();
var quiz = {
title: $(e.target).find('[name=title]').val(),
descriptive_noun1: $(e.target).find('[name=descriptive-noun').val(),
descriptive_noun2: $(e.target).find('[name=descriptive-noun').val()
}
quiz._id = Quizzes.insert(quiz);
Router.go('quizItemDetails', quiz);
}
});
У меня действительно был элемент формы, просто забыли включить его. Спасибо, это отличный ответ. – user3238454