I would like to expand on Jim Wyse's advice, and explain what else I have solved so far and what I am still looking for advice on.
First of all, here is the beginning and end code example to do what Jim suggested (where the entry_id is passed through the url):
{exp:freeform:entries
form_name="my_survey_name"
entry_id="{segment_3}"
}
{exp:freeform:form
form_name="my_survey_name"
multipage="yes"
}
<!-- survey questions here -->
{/exp:freeform:form}
{/exp:freeform:entries}
Within this setup, I can easily pre-populate the values from the original entry like this:
For regular text field:
<input id="field_name" name="field_name"
value="{freeform:field:field_name}" type="text">
For radio buttons:
<input id="field_name" name="field_name" value="Yes" type="radio"
{if '{freeform:field:field_name}' == "Yes"}
checked="checked"
{/if}>
For select menu:
<select id="field_name" name="field_name">
<option value="field_value"
{if '{freeform:field:field_name}' == "field_value"}
selected="selected"
{/if}>Field Value
</option>
</select>
These all work correctly, but by this logic I would expect the following to work for checkboxes (same as radio buttons, but replacing the "==" with "*=" to change "equal to" to "contains"). This, however, causes the page to break and nothing will display.
<input id="field_name" name="field_name" value="field_value" type="checkbox"
{if '{freeform:field:field_name}' *= "field_value"}
checked="checked"
{/if}>
I am hoping someone else might be able to expand on this to solve the checkbox value problem? Thank you in advance!