我有一个显示为模态的表单。仅当用户单击相应的链接时才会显示此模式。 表格本身按预期工作。
我遇到的问题只有一个。只要表单无效,RequiredFields Validator就会启动,用户将被定向回来,就是这样。
在这种情况下,我想立即显示模态,但我找不到检查验证错误的方法。
是否有人有同样的问题设法解决它或有人可以帮助我吗?
谢谢!
答案 0 :(得分:0)
我之前做过一个关于boostrap网站的解决方案。我没有替换整个页面,只有模态:
jQuery(function($) {
$('form[data-async]').on('submit', function(event) {
var $form = $(this);
var $target = $($form.attr('data-target'));
$.ajax({
type: $form.attr('method'),
url: $form.attr('action'),
data: $form.serialize(),
success: function(data, status) {
$target.html(data);
}
});
event.preventDefault();
});
});
这会将内容替换为实际响应。找到它here
在模板中:
<!-- Bootstrap trigger to open modal -->
<a data-toggle="modal" href="#rating-modal">Write a Review</a>
<div class="hide fade modal" id="rating-modal">
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal">×</button>
<h2>Your Review</h2>
</div>
<div class="modal-body">
<!-- The async form to send and replace the modals content with its response -->
<form class="form-horizontal well" data-async data-target="#rating-modal" action="/some-endpoint" method="POST">
<fieldset>
<!-- form content -->
</fieldset>
</form>
</div>
<div class="modal-footer">
<a href="#" class="btn" data-dismiss="modal">Cancel</a>
</div>
</div>
如果您有ajax请求或未使用正确的模板回复,请务必使用Director::is_ajax()检查您的php代码。