app/liquid/views/partials/_survey_form.liquid
<form action='/api/pages/{{id}}/survey_responses' data-remote='true' method='post' class='form--big action-form survey__form hidden-closed'>
<input type='hidden' name='form_id' value='{{ form.form_id }}' />
{% for field in form.fields %}
<div class="form__group action-form__field-container">
{% case field.data_type %}
{% when 'text' or 'postal' %}
<label for="{{ field.name }}" class="survey__question">{{ field.label }}</label>
<input type="text" name="{{field.name}}" class="form-control form__content" maxlength="249" value="{{ field.default_value }}" />
{% when 'hidden' %}
<input type="hidden" name="{{field.name}}" class="form-control form__content" id="" value="{{ field.default_value }}" />
{% when 'paragraph' %}
<label for="{{ field.name }}" class="survey__question">{{ field.label }}</label>
<textarea name="{{ field.name }}" class="form-control form__content" id="" maxlength="9999">{{ field.default_value }}</textarea>
{% when 'email' %}
<label for="{{ field.name }}" class="survey__question">{{ field.label }}</label>
<input type="email" name="{{field.name}}" class="form-control form__content" id="" value="{{ field.default_value }}" />
{% when 'phone' %}
<label for="{{ field.name }}" class="survey__question">{{ field.label }}</label>
<input type="tel" name="{{field.name}}" class="form-control form__content" id="" value="{{ field.default_value }}" />
{% when 'checkbox' %}
{% if field.default_value == blank %}
{% assign checked = '' %}
{% else %}
{% assign checked = 'checked' %}
{% endif %}
<label class="checkbox-label">
<input name="{{field.name}}" type="hidden" value="0" />
<input type="checkbox" name="{{field.name}}" class="form__content" value="1" {{ checked }}/> {{ field.label }}
</label>
{% when 'country' %}
<label for="{{ field.name }}" class="survey__question">{{ field.label }}</label>
<select name="{{field.name}}" class="survey-form__dropdown form__content">
<option></option>
{% if field.default_value == blank %}
{{ country_option_tags }}
{% else %}
{{ country_option_tags | select_option: field.default_value }}
{% endif %}
</select>
{% when 'dropdown' %}
<label for="{{ field.name }}" class="survey__question">{{ field.label }}</label>
<select name="{{ field.name }}" class="survey-form__dropdown form__content">
<option></option>
{% for choice in field.choices %}
{% if choice.value == field.default_value %}
<option value="{{ choice.value }}" selected="selected">{{ choice.label }}</option>
{% else %}
<option value="{{ choice.value }}">{{ choice.label }}</option>
{% endif %}
{% endfor %}
</select>
{% when 'choice' %}
<div class="radio-container">
<div class="survey__question">{{ field.label }}</div>
{% for choice in field.choices %}
<label for="{{ choice.id }}">
<input id="{{ choice.id }}" name="{{ field.name }}" type="radio" value="{{ choice.value }}">
{{ choice.label }}
</label>
{% endfor %}
</div>
{% when 'instruction' %}
<div class="survey__instruction">
{{ field.label }}
</div>
{% endcase %}
</div>
{% endfor %}
<button type="submit" class="button action-form__submit-button survey__button survey__next-button">{{ cta }}</button>
{% if form.skippable %}
{% unless last %}
<!-- liquid doesn't support `not` or `!` -__- -->
<a class="button button--inverted survey__button survey__skip-button">{{ 'survey.skip' | t }}</a>
{% endunless %}
{% endif %}
</form>