Home >Web Front-end >JS Tutorial >Build an online e-signature tool using JavaScript

Build an online e-signature tool using JavaScript

WBOY
WBOYOriginal
2023-08-09 12:01:051465browse

Build an online e-signature tool using JavaScript

Using JavaScript to build an online electronic signature tool

With the advent of the digital age, electronic signatures have become a fast, convenient and secure way of business communication. When developing online electronic signature tools, JavaScript is undoubtedly a powerful language choice. This article will introduce how to use JavaScript to build a simple yet powerful online electronic signature tool, with code examples.

Before we start, we need to understand a few concepts. There are generally two types of electronic signatures: picture-based signatures and vector graphic-based signatures. The former displays the user's real signature image on the web page, while the latter uses JavaScript to draw the signature graphic. In this article, we will use a vector graphic-based signature.

First, we need an HTML page as a basis. On the page we will place a canvas element for the user to draw their signature. The code is as follows:

<!DOCTYPE html>
<html>
<head>
    <title>在线电子签名工具</title>
    <script src="signature.js"></script>
</head>
<body>
    <h1>在线电子签名工具</h1>
    <canvas id="signatureCanvas"></canvas>
    <button onclick="clearSignature()">清除签名</button>
    <button onclick="saveSignature()">保存签名</button>
    <img  id="savedSignature" / alt="Build an online e-signature tool using JavaScript" >
</body>
</html>

Next, we need a JavaScript file to handle the signature drawing logic. The code is as follows:

const canvas = document.getElementById('signatureCanvas');
const context = canvas.getContext('2d');
let isDrawing = false;
let lastX = 0;
let lastY = 0;

canvas.addEventListener('mousedown', (e) => {
    isDrawing = true;
    [lastX, lastY] = [e.clientX - canvas.offsetLeft, e.clientY - canvas.offsetTop];
});

canvas.addEventListener('mousemove', (e) => {
    if (!isDrawing) return;
    const x = e.clientX - canvas.offsetLeft;
    const y = e.clientY - canvas.offsetTop;
    context.beginPath();
    context.moveTo(lastX, lastY);
    context.lineTo(x, y);
    context.stroke();
    [lastX, lastY] = [x, y];
});

canvas.addEventListener('mouseup', () => {
    isDrawing = false;
});

function clearSignature() {
    context.clearRect(0, 0, canvas.width, canvas.height);
}

function saveSignature() {
    const image = document.getElementById('savedSignature');
    image.src = canvas.toDataURL();
}

In the above code, we first obtain the canvas element and its context object. We then listened to the mouse events to get the user's signature draw position. In the mouse down event, we will start recording the coordinates of the user's last point. In the mouse move event, we draw the signature graphic based on the recorded coordinates and the current coordinates. On the mouse release event, we stop recording the user's signature drawing. Finally, we provide functions to clear the signature and save the signature. The latter assigns the DataURL generated by the signature to an image element to display the signature.

Finally, we need to introduce external CSS files to beautify the page. You can customize the style according to your own needs. The sample code is as follows:

canvas {
    border: 1px solid #000;
    cursor: crosshair;
}

button {
    margin-top: 10px;
}

Through the above steps, we successfully built a simple online electronic signature tool. Users can draw their own signature on the canvas, clear the signature through the Clear button, and save the signature as a picture through the Save button. Developers can expand functions according to business needs, such as adding signature verification, saving signatures to back-end servers, etc.

Summary: Using JavaScript to build online electronic signature tools can provide convenience and security for modern business communications. Through the code examples provided in this article, developers can quickly implement a powerful online electronic signature tool and expand it according to business needs.

The above is an article about using JavaScript to build an online electronic signature tool. I hope it will be helpful to readers.

The above is the detailed content of Build an online e-signature tool using JavaScript. For more information, please follow other related articles on the PHP Chinese website!

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn