<?xml version="1.0" encoding="UTF-8"?>
<!-- generator="bbPress/1.0.1" -->
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom">
	<channel>
		<title>Gravity Support Forums Topic: Saving a Form</title>
		<link>https://legacy.forums.gravityhelp.com/topic/saving-a-form</link>
		<description>Gravity Support Forums Topic: Saving a Form</description>
		<language>en-US</language>
		<pubDate>Mon, 20 Apr 2026 19:52:17 +0000</pubDate>
		<generator>http://bbpress.org/?v=1.0.1</generator>
		<textInput>
			<title><![CDATA[Search]]></title>
			<description><![CDATA[Search all topics from these forums.]]></description>
			<name>q</name>
			<link>https://legacy.forums.gravityhelp.com/search.php</link>
		</textInput>
		<atom:link href="https://legacy.forums.gravityhelp.com/rss/topic/saving-a-form" rel="self" type="application/rss+xml" />

		<item>
			<title>Anonymous on "Saving a Form"</title>
			<link>https://legacy.forums.gravityhelp.com/topic/saving-a-form#post-34906</link>
			<pubDate>Fri, 09 Sep 2011 03:33:46 +0000</pubDate>
			<dc:creator>Anonymous</dc:creator>
			<guid isPermaLink="false">34906@https://legacy.forums.gravityhelp.com/</guid>
			<description>&#60;p&#62;Example of how this is being done elsewhere:&#60;br /&#62;
&#60;a href=&#34;http://www.jotform.com/answers/7486-Do-you-support-multi-sessions#6&#34; rel=&#34;nofollow&#34;&#62;http://www.jotform.com/answers/7486-Do-you-support-multi-sessions#6&#60;/a&#62;
&#60;/p&#62;</description>
		</item>
		<item>
			<title>Anonymous on "Saving a Form"</title>
			<link>https://legacy.forums.gravityhelp.com/topic/saving-a-form#post-34905</link>
			<pubDate>Fri, 09 Sep 2011 03:19:10 +0000</pubDate>
			<dc:creator>Anonymous</dc:creator>
			<guid isPermaLink="false">34905@https://legacy.forums.gravityhelp.com/</guid>
			<description>&#60;p&#62;Just want to add my .02 that this feature would be heartily welcomed. We have a long and important form we use with our clients and I field at least one call from them a week complaining about the non-ability to save partial form data and come back to finish it later. We're actually going to pay someone to convert our Gravity Form to a Google Doc Form in order to deal with this, which is a step backwards...&#60;/p&#62;
&#60;p&#62;Keep us posted. Keeping fingers crossed that this happens soon.
&#60;/p&#62;</description>
		</item>
		<item>
			<title>Michelle on "Saving a Form"</title>
			<link>https://legacy.forums.gravityhelp.com/topic/saving-a-form#post-32318</link>
			<pubDate>Thu, 11 Aug 2011 16:56:29 +0000</pubDate>
			<dc:creator>Michelle</dc:creator>
			<guid isPermaLink="false">32318@https://legacy.forums.gravityhelp.com/</guid>
			<description>&#60;p&#62;I think I have @Carl's suggestion implemented. (Note - the method I described in &#60;a href=&#34;http://www.gravityhelp.com/forums/topic/how-to-get-form-id#post-32264&#34; rel=&#34;nofollow&#34;&#62;this thread&#60;/a&#62; doesn't work completely - it's updated below. I would edit it in the original entry but that thread's been closed.)&#60;/p&#62;
&#60;p&#62;This assumes users are registered and logged in prior to beginning to fill out a form.&#60;/p&#62;
&#60;p&#62;Here's how to do it if anyone is interested.&#60;/p&#62;
&#60;ol&#62;
&#60;li&#62;In your form, go into each field's Advanced tab and click &#34;Allow Field to be Populated Dynamically. Enter a parameter name - it can be anything, but *it should start with something unique*. This is to distinguish parameter names saved in the wp_usermeta table from those processed normally via Gravity Forms. In the examples below, I've begun my parameter names with &#34;um_&#34;.&#60;/li&#62;
&#60;li&#62;Change line 909 of forms_model.php to read:
&#60;p&#62;&#60;code&#62;return apply_filters(&#38;quot;gform_field_value_$name&#38;quot;, apply_filters(&#38;quot;gform_field_value&#38;quot;, $value, $name));&#60;/code&#62;&#60;/p&#62;
&#60;p&#62;That's a hack of the core code. Ugh, I know. :(  If anyone can think of a way around this please let me know!&#60;/li&#62;
&#60;li&#62;Add the following to your theme's functions.php file. This will store the named parameters in the wp_usermeta table, and pre-populate them when a user returns to a form they've already filled out:&#60;br /&#62;
&#60;pre&#62;&#60;code&#62;// RETRIEVE PARAMETER_NAME FOR FIELDS AND ADD TO WP_USERMETA IF THEY START WITH UM_
// For this to work you must name the parameters for each field by hand and make them start with &#38;#39;um_&#38;#39;
add_action(&#38;#39;gform_post_submission&#38;#39;, &#38;#39;save_entry_values&#38;#39;, 10, 2);
function save_entry_values($entry, $form){
    $userid = $entry[&#38;#39;created_by&#38;#39;]; // retrieve user ID

    foreach($form[&#38;#39;fields&#38;#39;] as $field) {
        $value = RGFormsModel::get_lead_field_value($entry, $field);
        // check that parameter name is prepended with &#38;#39;um_&#38;#39;
        // (chosen to designate it as a parameter to be saved in wp_usermeta table)
        // note that if your prepend string is anything other than 3 characters long you will need to change the &#38;#39;3&#38;#39; in the next line
        if($value &#38;amp;&#38;amp; substr($field[&#38;#39;inputName&#38;#39;],0,3) === &#38;#39;um_&#38;#39;) {
            update_user_meta($userid, $field[&#38;#39;inputName&#38;#39;], $value); // stores parameter_name values in wp_usermeta table
        }
    }
}

// RUN REVISED GFORM_FIELD_VALUE_YOUR_PARAMETER FILTER
add_filter(&#38;#39;gform_field_value&#38;#39;, &#38;#39;populate_user_meta&#38;#39;, 10, 2);
function populate_user_meta($value, $name) {
    global $user_ID;
    $field_user_meta = get_the_author_meta($name, $user_ID);
    // check if parameter name begins with &#38;#39;um_&#38;#39; and if so, pre-populate it from the_author_meta
    if(substr ($name,0,3) === &#38;#39;um_&#38;#39; ) {
        return $field_user_meta;
    // otherwise, pre-populate as normal (either via querystring, shortcode or other)
    } else {
        return $value;
    }
}&#60;/code&#62;&#60;/pre&#62;
&#60;/li&#62;
&#60;li&#62;Now we add the &#34;Save and return later&#34; and &#34;Submit&#34; buttons. Note that in the all of the rest of these functions, I'm specifying a specific form on my site - the form with id=8. You'll want to change that in both the functions and filters below to apply to your specific form.&#60;br /&#62;
&#60;pre&#62;&#60;code&#62;// ADD A SAVE BUTTON ON TARGETED FORM
add_filter(&#38;quot;gform_submit_button&#38;quot;, &#38;quot;form_submit_button&#38;quot;, 10, 2);
function form_submit_button($button, $form){
    if($form[&#38;quot;id&#38;quot;] == &#38;quot;8&#38;quot;) {
        $save = &#38;quot;&#38;lt;input class=&#38;#39;submit&#38;#39; type=&#38;#39;submit&#38;#39; name=&#38;#39;gform_save_button_&#38;quot;.$form[&#38;#39;id&#38;#39;].&#38;quot;&#38;#39; id=&#38;#39;gform_save_button_&#38;quot;.$form[&#38;#39;id&#38;#39;].&#38;quot;&#38;#39; value=&#38;#39;Save and Return Later&#38;#39; /&#38;gt;&#38;quot;;
        $submit = &#38;quot;&#38;lt;input class=&#38;#39;submit&#38;#39; type=&#38;#39;submit&#38;#39; id=&#38;#39;gform_submit_button_&#38;quot;.$form[&#38;#39;id&#38;#39;].&#38;quot;&#38;#39; value=&#38;#39;Submit Form for Review &#38;amp;raquo;&#38;#39; /&#38;gt;&#38;quot;;
        return &#38;quot;$save &#38;amp;nbsp;&#38;amp;nbsp; $submit&#38;quot;;
    } else {
        return &#38;quot;&#38;lt;input class=&#38;#39;submit&#38;#39; type=&#38;#39;submit&#38;#39; id=&#38;#39;gform_submit_button_&#38;quot;.$form[&#38;#39;id&#38;#39;].&#38;quot;&#38;#39; value=&#38;#39;Submit&#38;#39; /&#38;gt;&#38;quot;;
    }
}&#60;/code&#62;&#60;/pre&#62;
&#60;/li&#62;
&#60;li&#62;If users aren't submitting the form, you won't want to run validation yet, you'll want a different confirmation message, and you may not want email confirmations to be sent out. If all that's true, add these to your functions.php file. Remember to change the form ID #.&#60;br /&#62;
&#60;pre&#62;&#60;code&#62;// DO NOT RUN VALIDATION IF USER IS SAVING FORM
add_filter(&#38;#39;gform_validation_8&#38;#39;, &#38;#39;custom_validation&#38;#39;);
function custom_validation($validation_result) {
    if($_POST[&#38;#39;gform_save_button_&#38;#39;.$validation_result[&#38;quot;form&#38;quot;][&#38;quot;id&#38;quot;]]) {
        $validation_result[&#38;quot;is_valid&#38;quot;] = true;
    }
    return $validation_result;
}
// OUTPUT DIFFERENT CONFIRMATION MESSAGE WHEN SAVING
add_filter(&#38;quot;gform_confirmation_8&#38;quot;, &#38;quot;custom_confirmation&#38;quot;, 10, 4);
function custom_confirmation($confirmation, $form, $lead){
    if($_POST[&#38;#39;gform_save_button_&#38;#39;.$form[&#38;quot;id&#38;quot;]]){
        // Note the next line includes a shortcode which will output the form underneath the confirmation message.
        // If the original form or the shortcode below has ajax enabled, strange things will happen
        $confirmation = &#38;quot;&#38;lt;div id=&#38;#39;gforms_confirmation_message&#38;#39;&#38;gt;Thanks! Your entries have been saved. Return to this page at any time to continue filling out the form.&#38;lt;/div&#38;gt; [gravityform id=8 name=Questionnaire title=false description=false]&#38;quot;;
        // use the following line instead if you want a saved form to redirect somewhere
        //$confirmation = array(&#38;quot;redirect&#38;quot; =&#38;gt;&#38;quot;/sitename/wp/login?action=profile&#38;quot;);
    }
    return $confirmation;
}

// DO NOT SEND CONFIRMATION EMAIL IS USER IS SAVING FORM
add_filter(&#38;quot;gform_disable_admin_notification_8&#38;quot;, &#38;quot;disable_notification&#38;quot;, 10, 3);
function disable_notification($is_disabled, $form, $entry){
    if($_POST[&#38;#39;gform_save_button_&#38;#39;.$form[&#38;quot;id&#38;quot;]]) {
        return true;
    } else {
        return false;
    }
}&#60;/code&#62;&#60;/pre&#62;
&#60;/li&#62;
&#60;/ol&#62;
&#60;p&#62;Hope this helps someone!  &#60;/p&#62;
&#60;p&#62;Michelle
&#60;/p&#62;</description>
		</item>
		<item>
			<title>Carl Hancock on "Saving a Form"</title>
			<link>https://legacy.forums.gravityhelp.com/topic/saving-a-form#post-28687</link>
			<pubDate>Tue, 28 Jun 2011 11:29:04 +0000</pubDate>
			<dc:creator>Carl Hancock</dc:creator>
			<guid isPermaLink="false">28687@https://legacy.forums.gravityhelp.com/</guid>
			<description>&#60;p&#62;@CloutLaw This can already be done using available API hooks and custom code.  You can dynamically populate fields.  You would have to write the code to query the entry data and populate the fields dynamically using the available hooks.
&#60;/p&#62;</description>
		</item>
		<item>
			<title>CloutLaw on "Saving a Form"</title>
			<link>https://legacy.forums.gravityhelp.com/topic/saving-a-form#post-28682</link>
			<pubDate>Tue, 28 Jun 2011 11:15:01 +0000</pubDate>
			<dc:creator>CloutLaw</dc:creator>
			<guid isPermaLink="false">28682@https://legacy.forums.gravityhelp.com/</guid>
			<description>&#60;p&#62;What about prepopulating a multi-page form from already saved entries in database?
&#60;/p&#62;</description>
		</item>
		<item>
			<title>dubmethod on "Saving a Form"</title>
			<link>https://legacy.forums.gravityhelp.com/topic/saving-a-form#post-28668</link>
			<pubDate>Tue, 28 Jun 2011 03:19:58 +0000</pubDate>
			<dc:creator>dubmethod</dc:creator>
			<guid isPermaLink="false">28668@https://legacy.forums.gravityhelp.com/</guid>
			<description>&#60;p&#62;I have a 15 page form and this is a feature that would really come in handy. I hope it comes out in the near future... Please keep this post updated.
&#60;/p&#62;</description>
		</item>
		<item>
			<title>Carl Hancock on "Saving a Form"</title>
			<link>https://legacy.forums.gravityhelp.com/topic/saving-a-form#post-26462</link>
			<pubDate>Fri, 27 May 2011 11:33:14 +0000</pubDate>
			<dc:creator>Carl Hancock</dc:creator>
			<guid isPermaLink="false">26462@https://legacy.forums.gravityhelp.com/</guid>
			<description>&#60;p&#62;Currently there is no timeline I can give you, we are working on other product development at the moment so i'd hate to give you a timeframe and then not deliver during that timeframe.  It is a feature we want to add.  Our next major feature release will be 1.5.3, it won't make that release.  Hopefully it will make one of the major releases after that.
&#60;/p&#62;</description>
		</item>
		<item>
			<title>Josh Frank on "Saving a Form"</title>
			<link>https://legacy.forums.gravityhelp.com/topic/saving-a-form#post-26437</link>
			<pubDate>Thu, 26 May 2011 23:17:06 +0000</pubDate>
			<dc:creator>Josh Frank</dc:creator>
			<guid isPermaLink="false">26437@https://legacy.forums.gravityhelp.com/</guid>
			<description>&#60;p&#62;@Carl - thanks for the speedy reply. I can understand the desire to have a smooth system in place (that's what I want for my end user, too!).&#60;/p&#62;
&#60;p&#62;Besides the info in your thoughtful reply, is there any update on a timeline for this kind of feature? I have an existing client and a potential summer client who are interested in a form w/ save and form w/ update capabilities.
&#60;/p&#62;</description>
		</item>
		<item>
			<title>Carl Hancock on "Saving a Form"</title>
			<link>https://legacy.forums.gravityhelp.com/topic/saving-a-form#post-26414</link>
			<pubDate>Thu, 26 May 2011 16:51:40 +0000</pubDate>
			<dc:creator>Carl Hancock</dc:creator>
			<guid isPermaLink="false">26414@https://legacy.forums.gravityhelp.com/</guid>
			<description>&#60;p&#62;No update on saving forms.  It is a feature we plan on adding but we want to make sure when we implement it, it's well thought out and easy to use for end users.  Ideally we want it to trigger sending the user an email containing a return link they can click on to get back to the form.  So it's a bit more complex than just storing values in cookies and pre-populating fields automatically. We want to make it clear to the user what is going to happen when they choose to save their progress.
&#60;/p&#62;</description>
		</item>
		<item>
			<title>Josh Frank on "Saving a Form"</title>
			<link>https://legacy.forums.gravityhelp.com/topic/saving-a-form#post-26413</link>
			<pubDate>Thu, 26 May 2011 16:19:54 +0000</pubDate>
			<dc:creator>Josh Frank</dc:creator>
			<guid isPermaLink="false">26413@https://legacy.forums.gravityhelp.com/</guid>
			<description>&#60;p&#62;I recently purchased Gravity Forms and love it!&#60;/p&#62;
&#60;p&#62;Since multiple page forms is now a standard feature, is there any word on the ability for users to save their form to complete later?&#60;/p&#62;
&#60;p&#62;And, on a related note, I would love for my users to have the ability to return to their completed form and update responses.&#60;/p&#62;
&#60;p&#62;Thanks for a great product!
&#60;/p&#62;</description>
		</item>

	</channel>
</rss>
