Form Elements
jQuery Mobile supports standard web form controls and new rich controls on the same form. The framework has a feature called “auto-initialization” that takes every web form control and replaces it with a touch-friendly rich control.
The framework also takes new HTML5 input types to a new level, supporting them even on browsers without official support.
The following elements will be rendered as rich controls:
Buttons, using
button
andinput
elementsText inputs, using
input
andtextarea
elementsCheckbox and radio buttons using
input
elementsMenus using
select
andoption
elementsSliders using
input type="range"
new controlSlider switches using
select
andoption
elements with a new role
If we don’t want jQuery Mobile to render a form control as a rich UI
component, we can force it using data-role="none"
on every form element.
Every form element will use one line and will not share a row with another form control. This is the best solution for user experience on mobile forms. We can always force columns, but it’s not recommended for mobile forms.
Warning
When using AJAX, all the pages will share the same DOM, including the webform controls. That is why we need to maintain our form element’s unique IDs in our entire site. If we have two forms, don’t use the same ID for similar form controls
Labels
A very important element of every form’s control is the label. We should
always include a label
element
pointing to the right control using the for
attribute. Let’s see an example:
<label ...
Get jQuery Mobile: Up and Running now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.