【问题标题】:Remove modal body when submiting a form提交表单时删除模态体
【发布时间】:2018-05-24 04:33:24
【问题描述】:

HTML:

    <div id="FinalDiv">
      <p>Completed.</p>
    </div>

<div id="modalTeste" class="modal fade" role="dialog">
  <div class="modal-dialog">
    <div class="modal-content">
      <div class="modal-header">
        <h2>Title</h2>
      </div>
    <div class="modal-body">Form:</div>
    <form class="radioOpcoes" id="Testemodal">

      <div class="radio">
        <div class="radio">
          <label><input type="radio" name="selection" value="paypal"></label>
        </div>
        <div class="radio">
          <label><input type="radio" name="selection" value="money"></label>
        </div>
        <div class="radio disabled">
          <label><input type="radio" name="selection" value="mastercard"></label>
        </div>
    </form>

    <div class="modal-footer">
      <button type="button" class="btn btn-danger" data-dismiss="modal">Cancel</button>
      <button type="submit" class="btn btn-success" id="removeModal" name="button">Submit</button>

    </div>

  </div>
</div>

JS/Jquery:

  let formEvents = {

    paypal: function() {
      window.open('url');
      $('#modalTeste').hide('fast')
      $('#FinalDiv').show('slow');
    },
    money: function() {
      $('#modalTeste').hide('fast')
      $('#FinalDiv').show('slow');

    },
    mastercard: function() {
      $('#modalTeste').hide('fast')
      $('#FinalDiv').show('slow');
    }
  }

  $('.radioOpcoes').on('submit', function(e) {
    e.preventDefault();
    var value = $(this).find('input:radio:checked').val();

    if (formEvents.hasOwnProperty(value)) {
      formEvents[value].call(this);
    }

  });

  $('#Testemodal').submit(function() {
    $('#modalTeste').modal('toggle');
  });

当我提交表单时,根据用户在表单中选择的选项,隐藏了一个 div 并显示另一个。然而,即使这样工作,它仍然没有效率,因为它仍然有模式活动:我的目标是,当提交表单时(按下提交按钮),每个模式都会消失。由于显示的 div,我不能使用dismiss-modal(当我使用它时,我的“显示/隐藏”JQuery 停止工作)。没有显示错误。

【问题讨论】:

  • 你想显示/隐藏哪个 div?

标签: javascript jquery html forms bootstrap-modal


【解决方案1】:

您的提交按钮应该在表单内,

所以你的 html 将是。

 <div id="FinalDiv">
      <p>Completed.</p>
 </div>

<div id="modalTeste" class="modal fade" role="dialog">
    <form class="radioOpcoes" id="Testemodal">
  <div class="modal-dialog">
    <div class="modal-content">
      <div class="modal-header">
        <h2>Title</h2>
      </div>
    <div class="modal-body">Form:</div>


      <div class="radio">
        <div class="radio">
          <label><input type="radio" name="selection" value="paypal"></label>
        </div>
        <div class="radio">
          <label><input type="radio" name="selection" value="money"></label>
        </div>
        <div class="radio disabled">
          <label><input type="radio" name="selection" value="mastercard"></label>
        </div>


    <div class="modal-footer">
      <button type="button" class="btn btn-danger" data-dismiss="modal">Cancel</button>
      <button type="submit" class="btn btn-success" id="removeModal" name="button">Submit</button>

    </div>
  </form>
  </div>

如果您的问题得到解决,请告诉我?

这里是演示https://jsbin.com/mekifeg/edit?html,js,output

【讨论】:

  • 还没有,和以前一样。 div 被隐藏/显示,但淡入淡出模式保留在那里。
  • 当我提交时,#modalTeste 被隐藏,#FinalDiv 被显示。
猜你喜欢
  • 2016-02-26
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-01-09
  • 1970-01-01
  • 1970-01-01
  • 2012-12-19
相关资源
最近更新 更多