add_filter( 'gform_pre_render_81', 'populate_html' );function populate_html( $form ) { //this is a 2-page form with the data from page one being displayed in an html field on page 2 $current_page = GFFormDisplay::get_current_page( $form['id'] ); $html_content = "The information you have submitted is as follows:<br/><ul>"; if ( $current_page == 2 ) { foreach ( $form['fields'] as &$field ) { //gather form data to save into html field (id 6 on my form), exclude page break if ( $field->id != 6 && $field->type != 'page' ) { //see if this is a complex field (will have inputs) if ( is_array( $field->inputs ) ) { //this is a complex fieldset (name, adress, etc.) - get individual field info //get field's label and put individual input information in a comma-delimited list $html_content .= '<li>' .$field->label . ' - '; $num_in_array = count( $field->inputs ); $counter = 0; foreach ( $field->inputs as $input ) { $counter++; //get name of individual field, replace period with underscore when pulling from post $input_name = 'input_' . str_replace( '.', '_', $input['id'] ); $value = rgpost( $input_name ); $html_content .= $input['label'] . ': ' . $value; if ( $counter < $num_in_array ) { $html_content .= ', '; } } $html_content .= "</li>"; } else { //this can be changed to be a switch statement if you need to handle each field type differently //get the filename of file uploaded or post image uploaded if ( $field->type == 'fileupload' || $field->type == 'post_image' ) { $input_name = 'input_' . $field->id; //before final submission, the image is stored in a temporary directory //if displaying image in the html, point the img tag to the temporary location $temp_filename = RGFormsModel::get_temp_filename( $form['id'], $input_name ); $uploaded_name = $temp_filename['uploaded_filename']; $temp_location = RGFormsModel::get_upload_url( $form['id'] ) . '/tmp/' . $temp_filename['temp_filename']; if ( !empty( $uploaded_name ) ) { $html_content .= '<li>' . $field->label . ': ' . $uploaded_name . "<img src='" . $temp_location . "' height='200' width='200'></img></li>"; } } else { //get the label and then get the posted data for the field (this works for simple fields only - not the field groups like name and address) $field_data = rgpost('input_' . $field->id ); if ( is_array( $field_data ) ){ //if data is an array, get individual input info $html_content .= '<li>' . $field->label . ': '; $num_in_array = count( $field_data ); $counter = 0; foreach ( $field_data as $data ) { $counter++; $html_content .= print_r( $data, true ); if ( $counter < $num_in_array ) { $html_content .= ', '; } } $html_content .= '</li>'; } else { $html_content .= '<li>' . $field->label . ': ' . $field_data . '</li>'; } } } } } $html_content .= '</ul>'; //loop back through form fields to get html field (id 6 on my form) that we are populating with the data gathered above foreach( $form['fields'] as &$field ) { //get html field if ( $field->id == 6 ) { //set the field content to the html $field->content = $html_content; } } } //return altered form so changes are displayed return $form;}