javascript - 提交表单时删除模式主体

标签 javascript jquery html forms bootstrap-modal

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。然而,即使这样工作,它也不是高效的,因为它仍然具有事件的模式:我的目标是,当提交表单(按提交按钮)时,每个模式都会消失。由于显示的div,我无法使用dismiss-modal(当我使用它时,我的“显示/隐藏”JQuery 停止工作)。没有显示错误。

最佳答案

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

所以你的 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

关于javascript - 提交表单时删除模式主体,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47739607/

相关文章:

javascript - Firebase 类型错误 : Cannot read property 'val' of undefined

javascript - 使用 JQuery/Javascript 时,Delete 和 Dot 的键码是否相同?

javascript - Bootstrap 模式的目标 ID,用于在模式关闭时停止播放视频

jquery-ui - 如何使用 jQuery 默认预加载所有选项卡

html - CSS 问题样式导航标签

html - 如何在我自己的 HTML 中使用 WordPress Contact Form 7?

jquery - 错误消息显示意外的尖括号,但不应有意外的尖括号

javascript - 使用 $(this) 和 .not 选择除 iframe 之外的所有内容

javascript - Angular UI 路由器 - 抽象状态的子级不继承 $stateChangeStart 中的数据

javascript - 访问 json 数据时出现问题