This tag is used in conjunction with the MM_Form tag. It outputs form fields that the user can interact with to enter in data.
Attributes
Available field types and other attributes will vary based on the parent form type. This article deals with the attributes and usage examples for the Checkout form type.
checkout
type
(optional) – Indicates the type of form field to create. Acceptable values are input, hidden, custom or custom-hidden. The default value is ‘input'.
input
– Form fields of type ‘input' output a standard HTML form element that the user can interact with to enter in information. Based on the value ‘name' attribute MemberMouse will render the appropriate HTML form element.
For example, a dropdown will be rendered for selecting a Country and an input field will be rendered for entering in their first name. The ‘name' attribute is required for input form fields.hidden
– Form fields of type ‘hidden' output a hidden HTML element which indicates to MemberMouse that the ‘name' associated with this form field can be ignored when validating the form.
For example, when purchasing a product, billing address is required by default so MemberMouse won't allow the user to proceed until a billing address has been provided. By using a form field of type hidden for billing address, you're instructing MemberMouse to allow the form to be submitted without providing a billing address. This is useful when you want to provide a minimal checkout form in cases where you don't require certain information. The ‘name' attribute is required for hidden form fields. The ‘value' attribute is optional.custom
– Form fields of type ‘custom' output an HTML form element that the user can interact with to enter in information associated with custom fields you've configured in MemberMouse. The ‘id' attribute is required for custom form fields. The ‘isRequired' attribute is optional.custom-hidden
– Form fields of type ‘custom-hidden' output a hidden HTML form element that stores data associated with custom fields you've configured in MemberMouse. The ‘id' attribute is required for custom form fields. The ‘isRequired' attribute is optional.
Hidden custom fields are perfect for storing information related to the order that the user doesn't enter.
For example, you could track the ad name they came from, which keyword they used to find your product, etc. All you need to do is pass a querystring parameter to the page in the following format: ‘cf_{ID}' where ‘{ID}' is replaced by the ID of the custom field.
Here's an example: http://mysite.com/checkout?cf_1=banner-1&cf_2=marketing. In this example, we're passing ‘banner-1' as the value for the custom field with ID 1 and ‘marketing' as the value for the custom field with ID 2.name
(conditional based on field type) – This field is required for ‘input' and ‘hidden' field types. It indicates what data is being collected in the field.
Below is a table of acceptable values.
If a field is optional this means you don't have to include it in the form. If it's required, you have to include it in the form, but in a number of cases you can hide required fields from being seen by setting the type to hidden.
Certain names are valid for both ‘input' and ‘hidden' field types while others are valid just for ‘input' fields.
Value | Description | Optional | Valid Field Types |
firstName | Collects the user's first name | No | input , hidden |
lastName | Collects the user's last name | No | input , hidden |
email | Collects the user's email address | No | input |
email-confirm | Forces the user to confirm their email address | Yes | input |
username | Collects the user's username | Yes | input |
phone | Collects the user's phone number | No | input , hidden |
password | Collects the user's password | No | input , hidden |
captcha | Forces the user to fill out a captcha field for validation | Yes | input |
billingAddress | Collects the user's billing address | No | input , hidden |
billingCity | Collects the user's billing city | No | input , hidden |
billingState | Collects the user's billing state | No | input , hidden |
billingZipCode | Collects the user's billing zip code | No | input , hidden |
billingCountry | Collects the user's billing country | No | input , hidden |
shippingAddress | Collects the user's shipping address | No | input , hidden |
shippingCity | Collects the user's shipping city | No | input , hidden |
shippingState | Collects the user's shipping state | No | input , hidden |
shippingZipCode | Collects the user's shipping zip code | No | input , hidden |
shippingCountry | Collects the user's shipping country | No | input , hidden |
shippingMethod | Collects shipping method the user wants to use | No | input , hidden |
shippingSameAsBilling | Outputs a checkbox the user can click to indicate whether or not they want to provide a shipping address that's different from their billing address. | No | input |
ccNumber | Collects the user's credit card number | No | input |
ccExpirationDate | Collects the expiration date associated with the user's credit card number | No | input |
ccSecurityCode | Collects the security code associated with the user's credit card number | No | input |
couponCode | Collects the coupon code the user wants to apply to the order | Yes | input |
gift | Outputs a checkbox the user can click to indicate if the product being purchased is a gift. | Yes | input |
class
(conditional based on field type) – This field is optional for ‘input' and ‘custom' fields. It indicates the CSS class that should be used for the field.value
(conditional based on field type) – This field is optional for ‘hidden' fields. It specifies the default data to set for the field specified in the ‘name' attribute.id
(conditional based on field type) – This field is required for ‘custom' and ‘custom-hidden' fields. It specifies the ID of the custom field to collect data for.isRequired
(conditional based on field type) – This field is optional for ‘custom' and ‘custom-hidden' fields. It indicates whether the custom field should be required. Acceptable values are ‘true' and ‘false'. The default value is ‘false'. This attribute can also be use on ‘input' fields that can be hidden. This includes firstName, lastName, phone, password, billingAddress, billingCity, billingState, billingZipCode, billingCountry, shippingAddress, shippingCity, shippingState,shippingZipCode.default
(conditional based on field name) – This field is optional when the ‘name' is set to ‘shippingMethod'. Here you can specify the key of the shipping method to use as the default. Read this article to learn how to lookup the shipping method key.customAttributes
(conditional based on field type) – This field is optional for ‘input' fields. This attribute can be used to add additional HTML attributes to the HTML input field generated by MemberMouse. Whatever is set in this attribute will be added to the HTML verbatim. For example, if you do the following:
[MM_Form_Field type='input' name='firstName' customAttributes='placeholder="First Name"']
The following HTML will be generated:
<input type="text" id="mm_field_first_name" name="mm_field_first_name" class="mm-textField" placeholder="First Name">
Full Usage Example
[MM_Form type='checkout']
Input Fields:
First Name: [MM_Form_Field type='input' name='firstName']
Last Name: [MM_Form_Field type='input' name='lastName']
Hidden Fields:
[MM_Form_Field type='hidden' name='billingAddress']
[MM_Form_Field type='hidden' name='billingCity']
[MM_Form_Field type='hidden' name='billingState' value='TX']
[MM_Form_Field type='hidden' name='billingCountry' value='US']
Custom Fields:
Birthday: [MM_Form_Field type='custom' id='1' isRequired='true']
Height: [MM_Form_Field type='custom' id='3' isRequired='false']
Hidden Custom Field:
[MM_Form_Field type='custom-hidden' id='5']
...other form SmartTags...
[/MM_Form]