Twitter bootstrap 用于登录的引导模式弹出窗口
我正在使用引导模式弹出窗口登录,我需要知道如何在同一弹出窗口上显示错误消息,该弹出窗口来自MVC5中的控制器操作Twitter bootstrap 用于登录的引导模式弹出窗口,twitter-bootstrap,Twitter Bootstrap,我正在使用引导模式弹出窗口登录,我需要知道如何在同一弹出窗口上显示错误消息,该弹出窗口来自MVC5中的控制器操作 请提供任何建议。在提交前对modal进行JavaScript验证,如果验证失败,请禁用提交 更新: 由于没有代码可以使用,我将把逻辑留给您 验证 Showmodal如果验证失败,请使用razor在viewbag中设置一个变量以再次显示模式(我认为这不是最佳做法) 我建议您使用URL结构来显示该模式。 这里有一个问题正好解决了这个问题:。检查已接受的答案。(归功于原作者) 基本上,您
请提供任何建议。在提交前对modal进行JavaScript验证,如果验证失败,请禁用提交 更新: 由于没有代码可以使用,我将把逻辑留给您
我建议您使用URL结构来显示该模式。 这里有一个问题正好解决了这个问题:。检查已接受的答案。(归功于原作者) 基本上,您需要添加javascript来检查URL的最后一部分,如下所示:
<script type="text/javascript">
var url = window.location.href;
if(url.indexOf('?error=123') != -1 || url.IndexOf('/error123') != -1) {
$('#myModal').modal('show');
}
</script>
var url=window.location.href;
如果(url.indexOf('?error=123')!=-1 | | url.indexOf('/error123')!=-1){
$('myModal').modal('show');
}
然后,您可以将模型错误响应路由到login/error123,在HTML页面上定义空的模态div
脚本,单击按钮发送请求,从服务器获取数据并以模式显示。
你只需要在js中写一行
toastr.success('YOUR MESSAGE');
需要更改标题我无法使用JS执行此操作,因为逻辑和对DB的调用处于控制器操作中..需要在验证后返回到模式..请提供任何示例。。谢谢因此,验证是在action方法中进行的。这似乎不对。如果模态的行为类似于表单,则将其设置为表单或使用ajax请求进行验证。我将用一个基本示例更新我的答案我必须使用控制器操作,因为我需要访问数据库来检查电子邮件/密码的有效性,而不仅仅是语法验证…谢谢!是的,我正在使用MODA内部表单验证后,模式在窗口中显示错误,但登录按钮不起作用。对于不同类型的消息,您可以保持危险或其他状态,而不是成功
<div class="modal fade" id="myModal" tabindex="-1" role="dialog" aria-labelledby="myModalLabel" aria-hidden="true">
<div class='modal-oem-error''>
<button type="button" class="btn btn-primary" id='element'>Show Modal Data On Ajax</button>
def login
# login code
status ? (render :partial=>'after_login_template') : (render :json=>{status:'false' , value_data: @instance.errors.full_messages.join('|')})
end
$('#element').on('click', function () {
$j.ajax({
url: '/localhost/resource',
type: "POST",
data: {id:123}
}).done(function (data) {
if (data.status == 'false') {
$j('.modal-oem-error').show();
array = data.value_data.split('|')
$j.each(array, function (i) {
$j('.modal-oem-error').append('<p>' + array[i] + '</p>')
});
} else {
$j('#myModal').modal('hide')
$j('#list).html(data)
$j('.modal-oem-error').html('');
$j('body').removeClass('modal-open');
}
});
});
$('#myModal').on('hidden.bs.modal', function (e) {
$('#myModal').html('');
})
toastr.success('YOUR MESSAGE');