记录使用layui弹窗实现签名、签字

news2024/11/24 16:27:03

一、前言

本来项目使用的是OCX方式做签字的,因为项目需要转到国产化,不在支持OCX方式,需要使用前端进行签字操作

注:有啥问题看看文档,或者换着思路来,本文仅供参考!

二、使用组件

获取jSignature
方法一:jSignature官网
方法二:BootCDN 这里面的各种组件库挺全面

三、相关代码

<!DOCTYPE html>
<html lang="zh">
<head>
    <meta http-equiv="content-type" content="text/html; charset=utf-8"/>
    <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
    <meta http-equiv="content-type" content="no-cache"/>
    <meta name="viewport"
          content="width=device-width,initial-scale=1.0,maximum-scale=1.0,minimum-scale=1.0,user-scalable=no"/>
    <meta name="apple-mobile-web-app-capable" content="yes">
    <link href="../libs/layui/css/layui.css" rel="stylesheet">
</head>
<style>
    .layui-layout-admin .layui-header {
        background-color: #fff;
    }

    .layui-layout-admin .layui-body {
        position: inherit;
    }

    .layui-container {
        margin-top: 64px;
    }

    .layui-container img {
        width: 800px;
    }
</style>
<body>
<div class="layui-layout layui-layout-admin">
    <div class="layui-header">
        <div class="layui-btn-container" style="margin-top: 12px;text-align: center;">
            <button type="button" class="layui-btn layui-btn-lg" lay-active="sign">签字</button>
        </div>
    </div>
    <div class="layui-body">
        <div class="layui-container">
            <div align="center">
                <img src="../images/evaluate_bg.png">
            </div>
        </div>
    </div>
</div>

<div class="layui-row" id="signDiv" style="display: none;">
    <div id="signatureparent">
        <div id="signature" style="border: 2px dotted lightgrey;"></div>
    </div>
    <div class="layui-btn-container" style="text-align: right;margin-top: 15px;">
        <button type="button" class="layui-btn layui-bg-orange layui-btn-lg" onclick="toReset()">重写</button>
        <button type="button" class="layui-btn layui-bg-blue layui-btn-lg" onclick="getData()">提交</button>
        <button type="button" class="layui-btn layui-btn-danger layui-btn-lg" onclick="toDestroy();">关闭</button>
    </div>
</div>
<script src="../jquery/jquery-1.8.3.js"></script>
<script src="../libs/jSignature/jSignature.js"></script>
<script src="../libs/layui/layui.js"></script>
<script type="text/javascript">
    var signature;
    layui.use(function () {
        var util = layui.util
            , $ = layui.$;
        // 触发事件
        util.on('lay-active', {
            'sign': function () {
                // 在此处输入 layer 的任意代码
                layer.open({
                    type: 1, // page 层类型
                    area: ['800px', '430px'],
                    title: '<h3>请签名:</h3>',
                    shade: 0.6, // 遮罩透明度
                    // shadeClose: true, // 点击遮罩区域,关闭弹层
                    closeBtn: 0,
                    anim: 6, // 0-6 的动画形式,-1 不开启
                    content: $('#signDiv'),
                    success: function () {
                        signature = $('#signature').jSignature({
                            height: '300px',
                            width: '100%'
                        });//初始化控件
                    }
                });
            }
        });
    });

    function toReset() {
        signature.jSignature('reset');
    }

    function getData() {
        var data = signature.jSignature("getData", "image");
        var isModified = signature.jSignature("isModified");
        if (!isModified) {
            layer.msg('请先完成签字,在提交');
            return false;
        }
        // 可以添加保存签字图片的逻辑,如生成下载链接或上传到服务器
    }

    function toDestroy() {
        signature.jSignature("destroy");
        layer.closeAll();
    }
</script>
</body>
</html>

四、效果展示

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/979267.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

优雅的代码命名规范,代码如诗

优雅的代码命名规范 管理类命名传播类命名回调类命名监控类命名内存管理类命名过滤检测类命名结构类命名常见设计模式命名解析类命名网络类命名CRUD命名其他END 日常编码中&#xff0c;代码的命名是个大的学问。能快速的看懂开源软件的代码结构和意图&#xff0c;也是一项必备的…

【数据结构】二叉搜索树——二叉搜索树的概念和介绍、二叉搜索树的简单实现、二叉搜索树的增删查改

文章目录 二叉搜索树1. 二叉搜索树的概念和介绍2. 二叉搜索树的简单实现2.1二叉搜索树的插入2.2二叉搜索树的查找2.3二叉搜索树的遍历2.4二叉搜索树的删除2.5完整代码和测试 二叉搜索树 1. 二叉搜索树的概念和介绍 二叉搜索树又称二叉排序树&#xff0c;它或者是一棵空树&…

机器学习入门教学——可解释性

1、前言 近年来&#xff0c;机器学习模型被广泛地应用到现实生活中的一些重要领域&#xff0c;如面部识别、自动驾驶、语言处理和智慧医疗等。然而&#xff0c;机器学习模型就像一个黑盒子&#xff0c;给予一个输入&#xff0c;就能得到一个决策结果&#xff0c;但是我们并不知…

使用ECS和RDS部署WordPress,搭建个人博客并使用域名访问

目录 一、准备工作 1、准备ECS服务器 2、创建数据库账号和密码 二、部署环境 1、远程连接 2、安装Apache服务 3、部署WordPress 三、对博客的优化并使用域名访问 1、博客的设计优化 1.1 插件的使用 1.2 博客的设计介绍 2、使用域名访问 四、个人博客部署的心得 1…

glibc2.35-通过tls_dtor_list劫持exit执行流程

前言 glibc2.35删除了malloc_hook、free_hook以及realloc_hook&#xff0c;通过劫持这三个hook函数执行system已经不可行了。 传统堆漏洞利用是利用任意地址写改上上述几个hook从而执行system&#xff0c;在移除之后则需要找到同样只需要修改某个地址值并且能够造成程序流劫持…

OpenCV的绘图函数,实力绘画篮球场

关键函数&#xff1a;cv2.line()&#xff0c;cv2.circle()&#xff0c;cv2.rectangle()&#xff0c;cv2.ellipse()&#xff0c;cv2.putText() 等。 绘制几何形状 import cv2 as cv import numpy as npcv.rectangle()&#xff0c;cv.circle()&#xff0c;cv.line()&#xff0c…

安全远控如何设置?揭秘ToDesk、TeamViewer 、向日葵安全远程防御大招

写在前面一、远程控制&#xff1a;安全性不可忽略二、远控软件安全设置实测◉ ToDesk◉ TeamViewer◉ 向日葵 三、远控安全的亮点功能四、个人总结与建议 写在前面 说到远程办公&#xff0c;相信大家都不陌生。远程工作是员工在家中或者其他非办公场所上班的一种工作模式&…

了解被测系统(二)接入链路--包括域名解析和Nginx代理

目录 一、接入链路示例 二、域名解析过程 1、相关概念 1.1、域的结构 1.2、DNS是什么&#xff1f; 1.3、DNS根域名服务器 1.4、顶级域名服务器 1.5、权威域名服务器 2、域名解析过程 2.1、检查Hosts文件 2.2、检查本地DNS缓存 2.3、DNS解析--本地DNS服务器 2.4、D…

基于yolov5模型的目标检测蒸馏(LD+KD)

文章目录 前言一、Distillation理解1、Knowlege distillation2、Feature distillation3、Location distillation4、其它蒸馏 二、yolov5蒸馏模型构建1、构建teacher预测模型2、构建蒸馏loss3、蒸馏模型代码图示模型初始化模型蒸馏 三、蒸馏模型实验1、工程数据测试2、voc2012开…

SpringMVC:从入门到精通,7篇系列篇带你全面掌握--二.SpringMVC常用注解及参数传递

&#x1f973;&#x1f973;Welcome Huihuis Code World ! !&#x1f973;&#x1f973; 接下来看看由辉辉所写的关于SpringMVC的相关操作吧 目录 &#x1f973;&#x1f973;Welcome Huihuis Code World ! !&#x1f973;&#x1f973; 一.关于日志的了解 1.使用日志的好处…

ESD门禁管理系统的组成和主要功能

ESD门禁管理系统是一种用于实现企业或组织对出入口进行管理和控制的系统。ESD代表“电子门禁系统”&#xff0c;它利用先进的技术手段来确保只有授权人员可以进入特定区域&#xff0c;从而提高管理效率。 ESD门禁管理系统通常包括以下组件&#xff1a; 1. 门禁读卡器&#xf…

论文阅读《Robust Monocular Depth Estimation under Challenging Conditions》

论文地址&#xff1a;https://arxiv.org/pdf/2308.09711.pdf 源码地址&#xff1a;https://github.com/md4all/md4all 概述 现有SOTA的单目估计方法在理想的环境下能得到满意的结果&#xff0c;而在一些极端光照与天气的情况下往往会失效。针对模型在极端条件下的表现不佳问题&…

拓展世界 | “秀才”被封,千万粉丝一朝空,数字时代来临,大众情感寄托是否有新的出口?

近日&#xff0c;短视频千万粉丝博主“秀才”因违反平台相关规定被封&#xff0c;引起了不少网友的关注&#xff0c;网络上大家戏称他为“中年妇女收割机”&#xff0c;这次的封杀&#xff0c;网友开玩笑道“这得有多少阿姨伤心欲绝”。 在当今数字时代&#xff0c;网红主播已…

计算机领域期刊会议级别分类

文章目录 一、查询期刊1.1、知网1.2、letpub1.3、ccf 二、CCF2.1、CCF和SCI的区别2.2、国际学术期刊2.3、国内期刊2.4、国际会议2.5、国内会议 三、期刊会议总结 一、查询期刊 1.1、知网 查询中⽂期刊⼀般用知⽹&#xff0c;输入你想了解的期刊然后搜索&#xff0c;可以查看期…

Ab3d.DXEngine 6.0 Crack 2023

Ab3d.DXEngine 不是另一个游戏引擎&#xff08;如Unity&#xff09;&#xff0c;它强迫您使用其游戏编辑器、其架构&#xff0c;并且需要许多技巧和窍门才能在标准 .Net 应用程序中使用。Ab3d.DXEngine 是一个新的渲染引擎&#xff0c;它是从头开始构建的&#xff0c;旨在用于标…

计算机视觉的应用13-基于SSD模型的城市道路积水识别的应用项目

大家好&#xff0c;我是微学AI&#xff0c;今天给大家介绍一下计算机视觉的应用13-基于SSD模型的城市道路积水识别的应用项目。今年第11号台风“海葵”后部云团的影响&#xff0c;福州地区的降雨量突破了历史极值&#xff0c;多出地方存在严重的积水。城市道路积水是造成交通拥…

关于ThreadPoolTaskExecutor线程池的配置

说明&#xff1a; 1、线程池分类、其他 1.1、分类 IO密集型 和 CPU密集型 任务的特点不同&#xff0c;因此针对不同类型的任务&#xff0c;选择不同类型的线程池可以获得更好的性能表现。 1.1. IO密集型任务 ​ IO密集型任务的特点是需要频繁读写磁盘、网络或者其他IO资源&a…

Netty—Channel

文章目录 一、Channel 是什么&#xff1f;&#x1f914;️二、 Channel 的继承体系&#x1f46a;三、Channel 的初始化过程 &#x1f50d;首先&#xff0c;channel() 指定 ChannelFactory 类型其次&#xff0c;Channel 实例化 一、Channel 是什么&#xff1f;&#x1f914;️ …

初识Java 5-1 实现隐藏

目录 库单元&#xff1a;package 代码组织 独一无二的包名 Java访问权限修饰符 包访问权限 接口访问权限&#xff08;public&#xff09; 不可访问&#xff08;private&#xff09; 继承访问权限&#xff08;protected&#xff09; 包访问权限与公共构造器 接口与实现…

基于Java+SpringBoot+Vue前后端分离医疗挂号管理系统设计和实现

博主介绍&#xff1a;✌全网粉丝30W,csdn特邀作者、博客专家、CSDN新星计划导师、Java领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java技术领域和毕业项目实战✌ &#x1f345;文末获取源码联系&#x1f345; &#x1f447;&#x1f3fb; 精彩专…