首页 > 其他分享 >SweetAlert让消息弹出窗口更加具有个性化!

SweetAlert让消息弹出窗口更加具有个性化!

时间:2023-01-03 15:02:37浏览次数:65  
标签:窗口 age record var kintone SweetAlert 个性化 页面

SweetAlert

SweetAlert是指可对JavaScript标准功能alert()和confirm()进行个性化定制的库。

 

SweetAlert的要点

官网上有很多示例,看了这些基本上就OK了。
但是,在低代码平台kintone上使用时,【弹出消息后更新页面】这个处理只参照示例来写的话,一开始有些人应该会误以为是同步处理,慢慢发现不对劲(因为原本的alert函数也是同步处理)。
看完示例后才发现需要异步处理(回调)。但却没有提供这个最基本的代码范例。
因此,本次通过使用记录详情页面显示时的事件中的REST API来更新记录的示例向大家介绍一下。

 

准备kintone应用

今天要讲的范例是:打开记录详情页面时,根据出生年月日计算出年龄,并且根据需要更新字段值。请创建一个应用,里面包含以下字段。

字段名称(例)

字段代码

字段类型

出生年月日

birthday

日期

年龄

age

数值、单行文本框等

 

 

(function() {     "use strict";        kintone.events.on(['app.record.detail.show'], function(event) {            var record = event.record;            // 设置添加记录时的年龄         var existing_age = parseInt(record['age']['value'], 10);            if (record['birthday']['value'] != null) {             // 根据出生年月日计算             // refer to https://msdn.microsoft.com/en-us/library/ie/ee532932%28v=vs.94%29.aspx             var birthday = new Date(record['birthday']['value']);             var today = new Date();             var years = today.getFullYear() - birthday.getFullYear();             birthday.setFullYear(today.getFullYear());             if (today < birthday) {                 years--;             }             var real_age = years;                // 如果记录中已有的年龄和计算出来的年龄不一致,则更新记录             if (existing_age !== real_age) {                 var params = {                     app: kintone.app.getId(),                     id: kintone.app.record.getId(),                     record: {                         age: {                             value: real_age                         }                     }                 };                 kintone.api(kintone.api.url('/k/v1/record'true), 'PUT', params, function(resp) {                     /* 使用alert()时的写法                     *                     * alert('更新年龄。');                     * location.reload(true);                     *                     */                        // 使用sweetAlert时的写法                     swal({                         title: '更新年龄。',                         text: '重载页面。',                         icon: 'success',                             button: 'OK'                         }).then(function() {                         // 关闭对话框后的处理                         location.reload(true);                     });                 }, function(resp) {                     // 报错时提示错误信息                     var errmsg = '更新记录时出错了。';                     // 如果应答中包含错误信息,则显示错误信息                     if (resp.message !== undefined) {                         errmsg += resp.message;                     }                     alert(errmsg);                 });             }         }         return event;     }); })();

设置JavaScript/CSS

在Cybozu CDN里复制SweetAlert的JavaScript链接 ,粘贴到JavaScript自定义设置页面的URL输入栏,然后上传上面的代码范例(calcAge.js)。
按照下图的顺序添加链接和文件。

动作确认

打开记录详情页面时如果需要更新年龄(结算结果>原有年龄),则更新。如果生日前后的一段时间内都没有打开过详情页面,进行如下更新。

看着范例写,容易写成像以下这样。

swal('更新年龄。', '重载页面。', 'success');

location.reload(true);

咦,为什么没有按OK按钮,页面会被刷新?因为这是异步处理!

注意事项

关于本次kintone应用周边的注意事项,如下所示。

  • 我是在Macintosh的Google Chrome上对kintone应用进行动作确认的

最后提示

这次向大家介绍的SweetAlert的使用方法虽然非常的简单,但所涉及的内容是官网的范例中没有的。

详情请见:https://cybozudev.kf5.com/hc/kb/article/213452/?from=cnblogs

标签:窗口,age,record,var,kintone,SweetAlert,个性化,页面
From: https://www.cnblogs.com/cybozu/p/17022233.html

相关文章

  • 博客园个性化CSS
    /**************************************************说明:1:我们建议你通过只改变css的方式来制作新的皮肤模板。当然,页面的部分代码你也是可以更改的,例如一些图片的地......
  • 滑动窗口最大值
    滑动窗口最大值给你一个整数数组nums,有一个大小为k的滑动窗口从数组的最左侧移动到数组的最右侧。你只可以看到在滑动窗口内的k个数字。滑动窗口每次只向右移动一位......
  • Redis的自增也能实现滑动窗口限流?
    限流是大家开发之路上一定会遇到的需求。比如:限制一定时间内,接口请求请求频率;一定时间内用户发言、评论次数等等,类似于滑动窗口算法。这里分享一份拿来即用的代码,一起看看......
  • 力扣239 滑动窗口最大值
    题目:给你一个整数数组nums,有一个大小为 k 的滑动窗口从数组的最左侧移动到数组的最右侧。你只可以看到在滑动窗口内的k 个数字。滑动窗口每次只向右移动一位。返回......
  • SAP Smart Table 的 Personalization(个性化配置)试读版
    ​​SAPSmartTable的Personalization(个性化配置)试读版​​ 本教程的前一步骤,我们介绍了SAPSmartTable和SmartFilterBar配合起来的使用方法:​​SAPUI5......
  • cmd窗口中java命令报错。错误:找不到或无法加载主类 java的jdk安装过程中踩过的坑
    错误:找不到或无法加载主类HelloWorld遇到这个问题时,我尝试过网上其他人的做法。有试过添加classpath,也有试过删除classpath。但是依然报错,这里javac可以编译通过,说明......
  • qt 增加新窗口
    添加UI界面新建里面选择qddesignerformclass,就会自动生成ui文件,c和h文件。使用新ui在mainwindow.cpp中,可以引入新ui的头文件,然后在button的槽函数中,n......
  • 双指针(leetcode easy 977)、滑动窗口(leetcode medium 209)、模拟旋转前进(leetcode
    双指针题目链接:https://leetcode.cn/problems/squares-of-a-sorted-array/思路:因题目所给数组为有序数组(有正有负),所以平方后数值从大到小肯定是从数组两边向内......
  • STM32 窗口看门狗中的喂狗操作具体是指什么
    是指清空看门狗计数器,看门狗实际上就是一个定时计数器,用来防止程序发生意外而设置的一个监测装置,只要看门狗功能打开,看门狗计数器的计数值是会不停的增加,程序正常运行时,需......
  • vue3使用sweetalert2替代默认的alert/confirm框
    安装#运行时依赖package.json的dependenciesnpminstallsweetalert2--save#开发时依赖package.json的devDependenciesnpminstallsweetalert2--save-dev ......