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>
请告诉我您的问题是否已解决?
关于javascript - 提交表单时删除模式主体,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47739607/