5 Replies Latest reply on Jul 23, 2012 12:47 PM by Mallard27

    Check State of Signature Field

    Mallard27 Level 1

      I have a multipage form with 18 differant signature fields. I need to initialize the form with Page 1 hidden and then after signing a certain field, that page becomes visible. My code is as follows:


      PostSign for field form1.RCP_Form_Page1.Block_28.Suppliers_Signature is:

      form1.ProcurementLetter_Page1.presence = "visible"

      Initialize on field form1.ProcurementLetter_Page1 is:

      if (form1.RCP_Form_Page1.Block_28.Suppliers_Signature == null) then

           form1.ProcurementLetter_Page1.presence = "hidden"



      The above code works until you close and reopen the form. When reopening, it defaults back a null condition because null in this case doesn't work. I have even tried adding ".rawValue" at the end of "Suppliers_Signature" and that doesn't resolve it.


      I think the root question is, how do I test the if statement to show a true condition of whether or not the signature field is signed?


      Thanks for all that reply!



        • 1. Re: Check State of Signature Field
          Niall O'Donovan Level 7



          If you have a look at the example here, it should give you a direction on the script: http://assure.ly/m8mN0m.


          Hope that helps,



          • 2. Re: Check State of Signature Field
            Mallard27 Level 1



            Thanks for the example. This code works great for a button press but I can't get it to work with initialize.


            I need to initialize the form with form1.ProcurementLetter_Page1.presence = "hidden" only when the signature field (form1.RCP_Form_Page1.Block_28.Suppliers_Signature) is unsigned. When the field is signed, I am going to use the PostSign event to trigger the appearance of this page. Unfortunetly, I can't get this to work using your code listed in your example. If I hide the page, I can get it to reappear after signature but when you close and reopen, the page is gone again. Here is the code I used:

            form1.InternalRoutingForm_Page2::initialize - (JavaScript, client)

            var oState = event.target.getField("form1.RCP_Form_Page1[0].Block_29[0].Boeing_IPT_Signature[0]").sign atureValidate();

            if (oState == 0)


                form1.InternalRoutingForm_Page2.presence = "hidden";



            With this code, the form initializes showing the page "visible" instead of "hidden" even though the signature field is unsigned; which means the page should be hidden.


            Thoughts? This must be possible as you can do it with other fields.





            • 3. Re: Check State of Signature Field
              Mallard27 Level 1

              I could not get the initialize to work. So instead, I did the following:

              Initialized the page to check to see if the signature title field was null. If it was null, I hid the page.


              I then added a text field over the signature field that stated "You must fill out the title before the signature field will appear".


              I initialized the signature to test the title field for null. If null, hide the signature and show the text. else, hide the text.


              I then set a change formula to the title that said to hide the text field and show the signature field.


              Last, I added textfield.mandatoryMessage on the signature field to display a message if the title was null.


              This is not what I wanted but is a work around. The only issue is that I have two signatures and pages I want to do this too. They all work except the second page won't show the mandatoryMessage.



              • 4. Re: Check State of Signature Field
                Niall O'Donovan Level 7



                You could also try the docReady event, which is the last event to fire as the page renders. This may be better than the initialize event.


                Good luck,



                • 5. Re: Check State of Signature Field
                  Mallard27 Level 1



                  That worked! Thanks so much!!!!