Вставить в коллекцию, если установлен флажок ввода

Что я пытаюсь сделать: я использую флажок в форме, который при проверке и отправке с помощью кнопки создает новый элемент в коллекции.

Флажок> Отмечено> Отправить форму> Создать новый элемент в коллекции.

Флажок> Не отмечено> Отправить форму> Не создавать коллекцию.

У меня есть схема коллекции со следующим:

value: {
    Type: Boolean, 
    ...
}

По умолчанию false. Это отлично.

Что я пробовал Я пробовал два разных способа передать это на сервер Meteor для вставки новой коллекции:

  • При изменении флажка обновить значение БД и при отправке проверить значение в БД, если ложно, не делать сбор, если правда, сделать это.

  • При отправке формы проверьте, установлен или снят флажок, и создайте новую коллекцию на основе этого.

Ни один из них не работал, так как я не знаю, как передать содержимое из HTML в файл js в Meteor. Я знаю, как это сделать с помощью JavaScript и т.д.

Я использую простой if(value) { }, но кажется, что это только проверка того, существует ли ввод и всегда ли он возвращает true.

Я пробовал document.getelementbyID, это возвращает undefined в документе. Я пытался использовать его как событие, это возвращает, что события не определены.

Мой вопрос:

Как передать проверенное/непроверенное значение в Meteor Javascript?


person Dandy    schedule 01.09.2016    source источник
comment
возможно, вставьте свои коды, чтобы мы могли видеть, что вы делаете/пытаетесь сделать. Несмотря на то, что это чрезвычайно просто сделать, вероятно, никто не ответит, если вы не покажете свой прогресс.   -  person Luna    schedule 01.09.2016
comment
покажите нам форму, хелперы и события шаблона, пожалуйста.   -  person iiro    schedule 01.09.2016
comment
@iiro Я кое-что прочитал и нашел способ, как это сделать. Я обновлю ответ, когда действительно добьюсь прогресса.   -  person Dandy    schedule 02.09.2016
comment
@Luna Часть проблемы заключалась в том, что я понятия не имел, как это сделать, но, похоже, используя Template.template.events, я могу добиться этого, используя событие click для обновления базы данных и последующего выполнения оператора в БД.   -  person Dandy    schedule 02.09.2016
comment
@Дэнди Точно. дайте мне еще один ответ на комментарий с вашими новыми кодами в событиях шаблона, если вы не можете заставить его работать. ваше здоровье   -  person Luna    schedule 02.09.2016


Ответы (1)


Вы можете передать любое значение на сторону сервера, отправив форму или используя запрос ajax. Я думаю, ваш вопрос заключается в том, как получить статус флажка: отмечен или не отмечен, я прав?

Итак, если вы используете jQuery, вы можете получить его одним вызовом:

$(":checkbox").prop("checked");

И если вы используете оригинальный js:

document.getElementById("checkboxId").checked;

Надеюсь, это поможет вам.

person Gale Yao    schedule 01.09.2016
comment
Как уже упоминалось, по какой-то причине я не могу выполнить проверку в DOM с помощью document.getElementByID. По какой-то причине (я не знаю почему) я получил сообщение об ошибке «документ не определен». Вероятно, это неправильное понимание с моей стороны, потому что я не полностью понимаю Meteor. - person Dandy; 01.09.2016