Как определить, был ли установлен флажок или нет?

#javascript #html #jquery #checkbox #bootstrap-modal

#javascript #HTML #jquery #флажок #bootstrap-модальный

Вопрос:

У меня есть модальная форма начальной загрузки, используемая для регистрации на вебинар. Я удалил другие поля, но у меня есть несколько текстовых полей, которые захватываются и передаются в CMS.

Кажется, я не могу заставить эти 3 флажка правильно передавать данные. Флажки записывают все как «включено», если форма отправлена один раз, но если форма отправлена во второй раз, то флажки, которые установлены / не установлены, будут нажимать «включено» и «выключено» соответственно. Таким образом, он работает со второй отправкой, но не с первой. Любая помощь будет с благодарностью принята. Я новичок в javascript и jquery, поэтому сейчас я нахожусь в точке угадывания.

 $(document).ready(function() {
  $('.register-webinar').click(function() {
    checked = $("input[type=checkbox]:checked").length;

    if (!checked) {
      alert("You must select at least one session.");
      return false;
    }
  });

  $('input.webinar').change(function() {
    if ($(this).is(":checked")) {
      $(this).val("on")
    } else {
      $(this).val("off")
    }
  });

  $('#railway_form').on("submit", function(e) {
    e.preventDefault();
    setTimeout(AoProcessForm(this), 200);
  });
});  
 <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/4.0.0-alpha.6/css/bootstrap.min.css">

<div class="form-popup-bg">
  <div class="form-container">
    <button id="btnCloseForm" class="close-button">X</button>
    <h1 style="text-align:center;">Register your attendance</h1>
    <p style="text-align:center;">Please select which session/s you wish to attend.</p>
    <form name="railway_webinar" id="railway_form" class="railway_webinar" action="">
      <div class="form-group">
        <input type="checkbox" id="Webinar_1" name="Webinar_1" class="webinar">
        <label for="Webinar_1">webinar 1</label><br/>
        <input type="checkbox" id="Webinar_2" name="Webinar_2" class="webinar">
        <label for="Webinar_2">webinar 2</label><br/>
        <input type="checkbox" id="Webinar_3" name="Webinar_3" class="webinar">
        <label for="Webinar_3">webinar 3</label>
      </div>
      <input type="submit" value="Reserve my seat!" class="form-block-cta register-webinar" />
    </form>
  </div>
</div>  

Ответ №1:

Понял это. Все, что мне нужно было сделать, это установить значение флажка на «выкл», так как все они будут «включены» по умолчанию.