create
or update
actions.
:::html
Add a \
tag inside your form. To break your fields into multiple groupings, include one \
tag to contain each group as described above.**NOTE: to append a label to a group of fields, use the
\
tag to apply styling appropriate for each platform. **
Add one \
tag inside the \
tag for each input field. You must adhere to the syntax found in the examples below to access the natively-styled form elements for each platform.**NOTE: each checkbox and radio button will need to be contained inside its own list item. Further discussion of the formatting can be found later in this document. ** To include a "submit" button, immediately below the last closing
\
tag and immediately above the closing \
tag.
**NOTE: the button should ''not'' be contained inside an \
tag, and must have the standardButton
class to be appropriately styled. **
:::html
### Creating a custom "Edit" Form
You can create native-styled forms by organizing form fields in one or more unordered lists inside a view's "content" \.
Include a form tag inside the \ tag. The form should use the post method to submit to the current controller's "create" or "update" actions.
:::html
Add a \
tag inside your form. To break your fields into multiple groupings, include one \ tag to contain each group as described above.
**NOTE: to append a label to a group of fields, use the \
tag to apply styling appropriate for each platform. **
When creating an edit form, it should include a hidden field that contains the id of the object being edited.
:::html
Add one \
tag inside the \
tag for each input field. You must adhere to the syntax found in the examples below to access the natively-styled form elements for each platform.
**NOTE: each checkbox and radio button will need to be contained inside its own list item. Further discussion of the formatting can be found later in this document. **
To include a form submission button, immediately below the last closing \
tag and immediately above the closing \
tag.
**NOTE: the button should ''not'' be contained inside an
tag, and must have the standardButton
class to be appropriately styled. **
:::html
## Form fields
### Text fields
In native iPhone applications, text fields display a placeholder attribute, rather than the standard label/value pair used on WiMo and Android devices. To display the label for text fields properly on all supported devices, follow the following steps when adding or editing a text field:
Apply the fieldLabel
class to the textfield label. The fieldLabel
class prevents the label from being displayed on the iPhone by setting the display property to "none
".
Call the placeholder method inside the text field input tag and include the desired placeholder text as an argument. The text field input tag should contain an embedded ruby tag calling the placeholder method to display placeholder text only on the iPhone. The placeholder method only returns the placeholder attribute when the application is running on an iPhone, since only native iPhone applications use placeholders instead of labels.
:::html
-
/>
-
/>
### Checkboxes/Switches
Checkboxes should be used to allow the user to distinguish between two binary states. On Android and WiMo, checkboxes look like checkboxes. However, traditional checkboxes are not a native component on the iPhone, so to comply with Apple HIG, checkboxes are instead displayed as switches labeled with the diametrically opposed states 'on/off.'
:::html
-
-
The custom style can be overridden on the iphone by redefining div#content form input[type="checkbox"] as follows:
:::html
div#content form input[type="checkbox"]{
background: none;
-webkit-appearance: checkbox; #explain webkit appearance
width:20px;
}
### Radio Buttons
Android and iPhone applications display stylized radio buttons that match those used in the native interface. Note that on the iPhone, a selected radio button will be marked with a checkmark.
WiMo applications utilize the default radio button styles.
:::html
Current status
-
-
-
### Select boxes
The stylesheets included in your Rhodes applications customize the style of the selection box element displayed on the form. Select boxes make use of the device's native selection components and cannot be modified.
:::html
Select
-
### Text areas
Although textareas are styled in css for each device, by convention, each textarea tag must include attributes for the number of rows and columns. The recommended values for rows and columns can be found below. Additionally, each textarea tag must have both an opening \
and closing \
tag - self-closing textarea tags will not be displayed properly in your application.
:::html
Textarea
-
If your application is targeting Windows Mobile devices, include the textarea
class on any \
tags containing a textarea to ensure that the list item is the proper height.
### Buttons
Buttons involved in form submission should be created as input tags, type submit. Buttons should not be contained inside an \
tag, and must have the standardButton
class to be appropriately styled.
Links/buttons used to perform actions related to the form but not involved in form submission (e.g., Delete, Cancel) should be located in the top toolbar instead.
:::html
\
elements are not supported in Windows Mobile and BlackBerry platforms.