javascript - 如何使用 bootstrap 警报代替 jqgrid 警报

标签 javascript jqgrid alert

如何将 jqgrid 警报消息(成功添加、删除)替换为引导警报?我正在使用 JQGRID 5.2.1。当我们在 jqgrid 中使用以下代码进行警报时

 if (response.responseText) {  
         alert(response.responseText);  
                        } 

最佳答案

首先我想提醒一下,免费的 jqGrid 很少会使用 alert,并且仅在关键情况下使用,例如,如果网格无法使用完全被创建。

另一方面,可以将不使用 alert 的要求作为公司的共同政策以及每个 JavaScript 模块的共同要求。它将对应于某些网络浏览器的策略(例如,参见the article)。

要求替换 alert 用法的另一个示例是创建单元测试,它会显式地重现一些错误。仅测试错误是否存在而不显示阻塞警报会很有帮助。

以任何方式,免费的jqGrid允许定义$.jgrid.defaults.fatalError方法,该方法将被jqGrid使用而不是 alert 。例如,可以使用如下代码

$.jgrid.defaults = $.jgrid.defaults || {};
$.jgrid.defaults.fatalError = function (errorText) {
    $("body").prepend('<div class="alert alert-danger alert-dismissable">' +
        '<a href="#" class="close" data-dismiss="alert" aria-label="close">×</a>' +
        '<h4 class="alert-heading">Error</h4>' +
        '<p>' + errorText + '</p>' +
      '</div>').alert()
        .on('closed.bs.alert', function () {
            $(this).remove();
        })          
};

在创建任何网格之前。

https://jsfiddle.net/OlegKi/c70pfv6r/是一个简单的网格,它使用 Bootstrap CSS。我在代码中包含了 $.jgrid.defaults.fatalError ,但它不会被真正使用。我修改了演示以包含 colNames 参数,该参数的长度与 colModel 参数的长度不对应:https://jsfiddle.net/OlegKi/c70pfv6r/1/ 。 jqGrid 无法创建网格,在这种情况下它会使用 alert 。另一侧将看到以下 div:

enter image description here

关于javascript - 如何使用 bootstrap 警报代替 jqgrid 警报,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45975386/

相关文章:

javascript promise 不会嵌套并返回使用 firebase 云函数的通知错误

javascript - 如何让铯点随 map 旋转?

javascript - 为什么新行在此 javascript 警报窗口中不起作用?

jquery - 使用 JQuery 创建链接的最佳方法?

javascript - 为什么使用 document.getElementByID 获取表单会阻止alert() 触发?

javascript - 单击警报框 "OK"后表单提交

javascript - FIREBASE admin sdk 不返回 promise ? Node JS

javascript - 我怎样才能制作打印报告的打印按钮?

jquery - 标题 jqGrid 中奇怪的 Firefox 问题

javascript - 如何在内联编辑中更新其他列更改的列