Skip to content

Instantly share code, notes, and snippets.

@jsakhil
Last active July 29, 2021 09:58
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save jsakhil/761c712c54f4a3150478032f46815ccd to your computer and use it in GitHub Desktop.
Save jsakhil/761c712c54f4a3150478032f46815ccd to your computer and use it in GitHub Desktop.
Signature Pad jQuery Plugin
<script src="https://cdn.jsdelivr.net/npm/signature_pad@2.3.2/dist/signature_pad.min.js"></script>
<div class="signature-wrap">
// Add Form field signature_base_64 and assign it to the form, Field type must be WYSIWYG
<input type="hidden" class="signature_base_64" name="signature_base_64" value="" />
<div id="signature-pad">
<div class="custom-signature-pad--body">
<canvas id="custom-signature-pad" width="398" height="160" style="touch-action: none;"></canvas>
</div>
<div class="signature-pad--actions">
<button type="button" id="clear" data-action="clear" class="clear btn btn-danger btn-sm">Clear Signature</button>
<button type="button" id="save" data-action="save" class="clear btn btn-success btn-sm">Save Signature</button>
</div>
</div>
</div>
if($('#signature-pad').length>0){
var wrapper = document.getElementById("signature-pad");
var clearButton = wrapper.querySelector("[data-action=clear]");
var saveSignature = wrapper.querySelector("[data-action=save]");
var canvas = wrapper.querySelector("canvas");
var signaturePad = new SignaturePad(canvas, {
backgroundColor: 'rgb(255, 255, 255)'
});
//window.onresize = resizeCanvas;
//resizeCanvas(wrapper);
clearButton.addEventListener("click", function (event) {
signaturePad.clear();
$('.signature_base_64').val('');
});
saveSignature.addEventListener("click", function (event) {
if (signaturePad.isEmpty()) {
alert("Please sign before saving the signature");
}else{
var b64 = signaturePad.toDataURL();
$('.signature_base_64').val(b64);
alert("Signature saved successfully");
}
});
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment