Skip to main content

I was asked by a partner recently on the availability of Signature pad in Nintex Form, and I am sharing how I did it using the jSignature library from jSignature. This is to demonstrate how to embed a Signature Pad in Nintex Form for Signature capture, store, and display using the said jSignature.min.js javascript library. The data of the signature is stored in a text field for redisplaying when the form is opened. What you will need is just the jSignature.min.js file to be uploaded to your site for later inclusion into your "Custom JavaScript Includes" of the Form, also don't forget you will need the jQuery liabrary to be included as well if it is not already done for the site or site collection level.

 

The result of the steps here is shown in below screen captured - Nintex Form with Signature Pad for signature drawing capture,

168591_pastedImage_1.png

For the purpose, i have created a simple Custom List on my Office 365 Sharepoint site environment, with only two columns - Title, and Signature (i.e. both are single line of text) to store the title of the signature, and the signature data respectively, here is how the custom list setting looks like

168592_pastedImage_3.png

 

With the custom list created, I have then customized the form with Nintex Form as captured below. My form consists of only three fields (i.e. data controls) - one for Title, one Rich Text Control for the Signature Pad, and Single Line of Textbox to store the Signature.

169539_pastedImage_5.png

 

Include the "Custom Javascript" and "Custom Javascript Includes" as shown below, i have downloaded and saved the "jSignature.min.js" library to the SiteAssets folder of my Sharepoint site.

169540_pastedImage_6.png

The JavaScript is to initiate the Signature Pad for signature drawing, or to re-draw the Signature from the captured Signature data if the form is opened for viewing or editing,

 

NWF$(document).ready(function() {

   var savedSig = NWF$('#'+sig).val();

   var sigdata = $('#signature').jSignature();

   if (savedSig != "") {

     var dataurl='data:'+ savedSig;

     sigdata.jSignature('importData',dataurl);

   }

})

 

The "Rich Text" control of the Nintex Form consists of only one line of HTML code "<div id="signature"></div>", here is how it looks like in the Control's Setting

169541_pastedImage_7.png

The "Single Line of Text Box" form control is configured as below, where I have inserted the "Client ID JavaScript variable name" as "sig" for the JavaScript references.

169542_pastedImage_8.png

The form's "Save" button is being configured as below to include the the following JavaScript (i.e. set the "Signature" control value with the Signature data when the form is being saved),

 

NWF$('#'+sig).val($('#signature').jSignature('getData', 'base30'));

 

under the Advanced - Client click setting

169543_pastedImage_9.png

 

That's all you need to embed a Signature Pad in Nintex Form. Publish the form, and you should get a Signature Pad where you can draw signature, save the Signature in the Custom list, and displaying the signature when the form is opened for viewing or editing.

Maybe can look at if javascript could be used to perform validation...

Get Outlook for iOS<https://aka.ms/o0ukef>


I have tested it on my surface pro 3 without issue...

Get Outlook for iOS<https://aka.ms/o0ukef>


Works fine on the Surface Pro we have as well, but it's a more generic Windows tablet without stylus that doesn't work. Trying to ascertain whether it's the device or the script that's the issue.


If I remembered correctly, there were some settings available on the behaviour or characteristic of the JSignature script library such as line thickness, colour, etc. You might want to take a look at the documentation or discussion of the jSignature (i.e. link is provided in the post content i think). Or there are other alternatives of Signature pad scripts as well if the one used here is not working well with the devices you have.


I was able to make the code work with a mouse..  Has anyone applied this code to a signature pad (Topaz)?  

If so, could you share the code changes for JSignature &/or Jquery.

Thank you..


You might need to download it here : http://willowsystems.github.io/jSignature/#/about/

Guessing


where is the jSignature.min.js file ???


You can find it on github

jSignature/libs at master · willowsystems/jSignature · GitHub 


  1. Thank you, mine is working in our 2016 On Prem form.

Seems to work OK except when saving, mine tells me that it should be less than 255 characters.  Any ideas?

I tried changing the Signature to Multiple lines of text, but that does not seem to do the trick

Thank you


Is your multiple line of text set to Plain text? It does not default that way. ALSO, if you change the configuration of the column, then you have to delete the control on the form, add it back and then test. I can email you my form file and list template file where I have this working on a desktop form if you want. This won't let me attach a file to the comment.


Thank you Emily.  Your suggestion worked!  It was able to now save back to the Signature column.  Next issue When I click on the Title to open the item, it opens but the signature is not there...only the signature line.  Also, I can use my mouse to sign even though the item is not in Edit mode??


What kind of environment is your SharePoint? I believe someone had this issue up above in the comments. I have SP 2016, Nintex Forms 2016 and On-Premise.


Hi Emily

1.  Thanks again

2.  I read through the whole post and I think I need to address the Include jQuery...as I have not added that yet

3.  Apologies...I'm very new at this and, although a site administrator for my location, not an administrator for our entire environment

4.  Running SP/Nintex 2013 on-premise and don't know where the jQuery library is located in order to add the link per the instructions from Kok Koon Gan 


If I remembered correctly, i have included the link in my post. In case it isn't there, just do a search you should be able to find it.

Get Outlook for iOS<https://aka.ms/o0ukef>


1. Your Welcome   

2. Go here http://willowsystems.github.io/jSignature/#/about/ and click on download on the top of the page.

3. Save the  jSignature.min.js file to your desktop

4. Then drag and drop that file into your site assets library on the site that you built this form on

5. Does that help?


Dears,

I've got the same issue, do you find the solution on that, in other to have the visualisation of the signature after ?

Thanks

Julien


I'm also having the issue with hidden panels and the rendering of the signature. Any help?


Hi All,

I have followed the directions above and all works great except when the form is in VIEW mode you can still modify the signature pad field..  I have the jSignature.min,  jquery-2.2.4.min  in the assets library.      I am using IE 11 and/or Chrome.   How do I only display the signature in View mode - prevent a user from changing the value?


Will it work if you put a hide or disable rule on the control when the form in in display mode?


Double click the signature field (multi line text field) to go to control settings, under Advanced change the control mode to auto.


Hi Bhashwar,  I checked the value and it defaults to 'auto'... still can't see the text signature.. I see the xml code in the rich text field but no signature appears.   I can't sign again in view mode. 


Hi Pam,

If you are seeing the xml, I would delete the signature field (multi line text field) and add it again. Please make sure signature field (multi line text field) is a plain text field, CSS class is: nf-form-input nf-section, Client ID JavaScript variable name is jsignature, submit button has setControlValue(); on the Client click etc..


responsive form??


Hi Steven,

I have deleted, re-created a new form with only 1 signature line following all steps and still the signature is not showing in view mode.  Can see the xml code, but no signature.  I am on Sharepoint 2013 onPrem.  Anyone have any suggestions? 


Reply