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

    Check State of Signature Field

    Mallard27 Newcomer

      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 Mythic



          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 Newcomer



            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 Newcomer

              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 Mythic



                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 Newcomer



                  That worked! Thanks so much!!!!