Answers.Body: <p>I could not see a way to get tokens working in webform conditionals - so I've worked it out with a hook_form_alter hook. It's like building your own token.</p>
  <p>On page 2 create a fieldset:</p>
  <pre><code>Label = STUDENT1TOKEN - Health
  Field Key = student1token
  </code></pre>
  <p>Then in code you can replace your token: STUDENT1TOKEN with any value that has already been submitted on page 1 of this specific webform.</p>
  <p>Dependence on field_key is not great - in a next pass I should probably just scan for STUDENT1TOKEN in all fieldset titles, [and then of course STUDENT2TOKEN, STUDENT3TOKEN, STUDENT4TOKEN].</p>
  <pre><code>function webform_civicrm_mystuff_form_webform_client_form_342_alter(&amp;$form, &amp;$form_state, $form_id) {
    // if we're on page2...
    if ($form['details']['page_num']['#value'] == 2) {
      if (isset($form_state['input']['submitted']['layoutbox_students']['civicrm_3_contact_1_fieldset_fieldset']['civicrm_3_contact_1_contact_first_name'])) {
        $student1_first_name = $form_state['input']['submitted']['layoutbox_students']['civicrm_3_contact_1_fieldset_fieldset']['civicrm_3_contact_1_contact_first_name'];
        $text_fieldset_title = $form['submitted']['student1token']['#title'];
        $new_fieldset_title =  str_replace('STUDENT1TOKEN', $student1_first_name, $text_fieldset_title);
        $form['submitted']['student1token']['#title'] = $new_fieldset_title;
      }
    }
  }
  </code></pre>
  <p>End result: your CiviCRM contact's name in a fieldset label on the next page!
  <a href="https://i.sstatic.net/aJFl4.png" rel="nofollow noreferrer"><img src="https://i.sstatic.net/aJFl4.png" alt="contact's name in fieldset title" /></a></p>
  
Answers.ContentLicense: CC BY-SA 3.0
Answers.CreationDate: 2015-08-11T17:49:39.313Z
Answers.LastActivityDate: 2015-08-11T20:13:34.813Z
Answers.LastEditDate: 2020-06-17T09:00:50.810Z
Answers.UserDisplayName: KarinG - Semper IT
Answers.Body: <p>I know this question is pretty old but I recently had a similar requirement for a client where they wanted the user to see the value of a field they had entered on the first page to be displayed on subsequent pages.</p>
  
  <p>In this example we want the value of first name to be displayed on page two that has been entered on page one.</p>
  
  <p>Page 1 of the webform as seen by the user -</p>
  
  <p><a href="https://i.sstatic.net/TOMPv.png" rel="nofollow noreferrer"><img src="https://i.sstatic.net/TOMPv.png" alt="enter image description here"></a></p>
  
  <p>The value of first name as entered on page one can be displayed on page two by using a token in a markup field in the below format -</p>
  
  <p>[submission:values:civicrm_1_contact_1_fieldset_fieldset:civicrm_1_contact_1_contact_first_name]</p>
  
  <p><a href="https://i.sstatic.net/EQdHF.png" rel="nofollow noreferrer"><img src="https://i.sstatic.net/EQdHF.png" alt="enter image description here"></a></p>
  
  <p>The token is built using the field set form key and the field name form key –</p>
  
  <p><a href="https://i.sstatic.net/0WK0J.png" rel="nofollow noreferrer"><img src="https://i.sstatic.net/0WK0J.png" alt="enter image description here"></a></p>
  
  <p>Page 2 of the webform as seen by the user with the value of first name displayed -</p>
  
  <p><a href="https://i.sstatic.net/X4uxi.png" rel="nofollow noreferrer"><img src="https://i.sstatic.net/X4uxi.png" alt="enter image description here"></a></p>
  
Answers.ContentLicense: CC BY-SA 4.0
Answers.CreationDate: 2018-07-17T19:47:14.930Z
Answers.Text: Yes - and thank you for the nice/clear screenshots - that will be helpful to many. Where it got really tricky in our case was the conditionals: only print the tokens for kids names 2,3,4 if they are 2,3,4 kids
Answers.UserDisplayName: KarinG - Semper IT
Answers.ContentLicense: CC BY-SA 4.0
Answers.CreationDate: 2018-07-17T16:05:03.470Z
Answers.LastActivityDate: 2018-07-17T16:05:03.470Z
Answers.UserDisplayName: Anil
Answers.Body: <p>You might be able to do this with webform conditionals. Take your first idea (putting first_name on page 1 as a hidden field) then create some extra throwaway webform fields (like name_page_2, name_page_3, etc) and set up a webform conditional rule to fill their values with the value from page 1.</p>
  
Answers.ContentLicense: CC BY-SA 3.0
Answers.CreationDate: 2015-08-11T15:34:17.443Z
Answers.Text: To fill it - I'd need to add a token so that it would be something like:
Answers.UserDisplayName: KarinG - Semper IT
Answers.ContentLicense: CC BY-SA 3.0
Answers.CreationDate: 2015-08-11T15:40:49.417Z
Answers.Text: if... then... name_page_2 - is - set to - a token - I can't seem to get tokens to work here - not even [current-user:name] - it just fills it as [current-user:name].
Answers.UserDisplayName: KarinG - Semper IT
Answers.ContentLicense: CC BY-SA 3.0
Answers.CreationDate: 2015-08-11T15:59:38.913Z
Answers.Text: I'm not sure if it helps (I'm adding it here just in case), but this is similar to the cross-page-data requirements of this question: http://civicrm.stackexchange.com/questions/604/webform-civicrm-and-the-my-billing-address-is-the-same-checkbox
Answers.UserDisplayName: Laryn
Answers.ContentLicense: CC BY-SA 3.0
Answers.CreationDate: 2015-08-11T15:10:47.670Z
Answers.LastActivityDate: 2015-08-11T15:10:47.670Z
Answers.UserDisplayName: Coleman
Body: <p>The First Name must also show on page 1 (and page 3/4/5/6 etc). If I'd just have two pages I could show Existing Contact on page 1 (display name) and then show First Name on page 2 but I've got 3/4/5/6/7/8 pages</p>
  
  <p>First Name is an input[readonly] field - just a handrail to remind the parents which child's info they are updating to e.g. get the allergies and the busing filled out correctly. </p>
  
  <p>Only easy 'option' I can see thus far is to put First Name (of Student 1) in a Fieldset Student 1 (on page 1). Then add a Fieldset Student 1 (on page 2) - and move the custom fields from Student 1 that need to go to page 2 (healthcare / allergy fields in this case) into that. Same for page 3 (selecting busing options). Etc. But then the parents have to remember who Student 1 (2/3/4) is all the way through.</p>
  
  <p>Any ideas on how one could re-show Existing Contact fields on a next page? I've been thinking about perhaps creating a Student Name field in each of the custom data sets for contact type Student - and then PHP populate that with = First Name (or Display name) - make them readonly etc - pull these into the Webform - and they'd always 'travel' to any page with the rest of the fields in their dataset. But that would look a bit odd on the Student's CiviCRM Contact summary page.</p>
  
Comments.ContentLicense: CC BY-SA 3.0
Comments.CreationDate: 2015-08-11T14:56:06.040Z
Comments.Text: I'm going to think about doing this with a hook form_alter [to try and take the value of First Name on page1 - and then to push it to into a Markup element on page2].
Comments.UserDisplayName: KarinG - Semper IT
Tags: <webform-civicrm>
Title: How can I (on page 2) show First Name of an Existing Contact - static (on page 1) without dragging it to page 2?
ThreadText: # How can I (on page 2) show First Name of an Existing Contact - static (on page 1) without dragging it to page 2?
  
  (Asked by: username_0 on 2015-08-11)
  
  The First Name must also show on page 1 (and page 3/4/5/6 etc). If I'd just have two pages I could show Existing Contact on page 1 (display name) and then show First Name on page 2 but I've got 3/4/5/6/7/8 pages
  
  First Name is an input[readonly] field - just a handrail to remind the parents which child's info they are updating to e.g. get the allergies and the busing filled out correctly.
  
  Only easy 'option' I can see thus far is to put First Name (of Student 1) in a Fieldset Student 1 (on page 1). Then add a Fieldset Student 1 (on page 2) - and move the custom fields from Student 1 that need to go to page 2 (healthcare / allergy fields in this case) into that. Same for page 3 (selecting busing options). Etc. But then the parents have to remember who Student 1 (2/3/4) is all the way through.
  
  Any ideas on how one could re-show Existing Contact fields on a next page? I've been thinking about perhaps creating a Student Name field in each of the custom data sets for contact type Student - and then PHP populate that with = First Name (or Display name) - make them readonly etc - pull these into the Webform - and they'd always 'travel' to any page with the rest of the fields in their dataset. But that would look a bit odd on the Student's CiviCRM Contact summary page.
  
  **Tags:** webform-civicrm
  
  > **Comments:**
  > **username_0**: I'm going to think about doing this with a hook form_alter [to try and take the value of First Name on page1 - and then to push it to into a Markup element on page2].  
  
  ---
  
  ## 3 answers
  
  ### Answer by username_0 on 2015-08-11. Score: 2 | Accepted answer
  
  I could not see a way to get tokens working in webform conditionals - so I've worked it out with a hook_form_alter hook. It's like building your own token.
  On page 2 create a fieldset:
  Label = STUDENT1TOKEN - Health
  Field Key = student1token
  
  Then in code you can replace your token: STUDENT1TOKEN with any value that has already been submitted on page 1 of this specific webform.
  Dependence on field_key is not great - in a next pass I should probably just scan for STUDENT1TOKEN in all fieldset titles, [and then of course STUDENT2TOKEN, STUDENT3TOKEN, STUDENT4TOKEN].
  function webform_civicrm_mystuff_form_webform_client_form_342_alter(&$form, &$form_state, $form_id) {
    // if we're on page2...
    if ($form['details']['page_num']['#value'] == 2) {
      if (isset($form_state['input']['submitted']['layoutbox_students']['civicrm_3_contact_1_fieldset_fieldset']['civicrm_3_contact_1_contact_first_name'])) {
        $student1_first_name = $form_state['input']['submitted']['layoutbox_students']['civicrm_3_contact_1_fieldset_fieldset']['civicrm_3_contact_1_contact_first_name'];
        $text_fieldset_title = $form['submitted']['student1token']['#title'];
        $new_fieldset_title =  str_replace('STUDENT1TOKEN', $student1_first_name, $text_fieldset_title);
        $form['submitted']['student1token']['#title'] = $new_fieldset_title;
      }
    }
  }
  
  End result: your CiviCRM contact's name in a fieldset label on the next page!
  
  
  ---
  
  ### Answer by username_1 on 2018-07-17. Score: 2
  
  I know this question is pretty old but I recently had a similar requirement for a client where they wanted the user to see the value of a field they had entered on the first page to be displayed on subsequent pages.
  
  In this example we want the value of first name to be displayed on page two that has been entered on page one.
  
  Page 1 of the webform as seen by the user -
  
  [![enter image description here](https://i.sstatic.net/TOMPv.png)](https://i.sstatic.net/TOMPv.png)
  
  The value of first name as entered on page one can be displayed on page two by using a token in a markup field in the below format -
  
  [submission:values:civicrm\_1\_contact\_1\_fieldset\_fieldset:civicrm\_1\_contact\_1\_contact\_first\_name]
  
  [![enter image description here](https://i.sstatic.net/EQdHF.png)](https://i.sstatic.net/EQdHF.png)
  
  The token is built using the field set form key and the field name form key –
  
  [![enter image description here](https://i.sstatic.net/0WK0J.png)](https://i.sstatic.net/0WK0J.png)
  
  Page 2 of the webform as seen by the user with the value of first name displayed -
  
  [![enter image description here](https://i.sstatic.net/X4uxi.png)](https://i.sstatic.net/X4uxi.png)
  
  > **Comments:**
  > **username_0**: Yes - and thank you for the nice/clear screenshots - that will be helpful to many. Where it got really tricky in our case was the conditionals: only print the tokens for kids names 2,3,4 if they are 2,3,4 kids  
  
  ---
  
  ### Answer by username_2 on 2015-08-11. Score: 1
  
  You might be able to do this with webform conditionals. Take your first idea (putting first\_name on page 1 as a hidden field) then create some extra throwaway webform fields (like name\_page\_2, name\_page\_3, etc) and set up a webform conditional rule to fill their values with the value from page 1.
  
  > **Comments:**
  > **username_0**: To fill it - I'd need to add a token so that it would be something like:  
  > **username_0**: if... then... name_page_2 - is - set to - a token - I can't seem to get tokens to work here - not even [current-user:name] - it just fills it as [current-user:name].  
  > **username_3**: I'm not sure if it helps (I'm adding it here just in case), but this is similar to the cross-page-data requirements of this question: http://civicrm.stackexchange.com/questions/604/webform-civicrm-and-the-my-billing-address-is-the-same-checkbox  
  
  ---
  
  