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

SweetAlert

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

SweetAlert的要点

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

准备kintone应用

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

字段名称(例)

字段代码

字段类型

出生年月日

birthday

日期

年龄

age

数值、单行文本框等

JavaScript代码(calcAge.js)

(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)。
按照下图的顺序添加链接和文件。

详细:SweetAlert让消息弹出窗口更加具有个性化! - cybozu - cybozu开发者网站

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值