3、jQuery Mobile 表单

1 基础

    jQuery Mobile 表单结构:form必须有method和action属性。 每个表单元素必须有唯一的id,每个表单元素必须有一个<label>元素,for属性匹配对应元素的id。

   当元素使用placeholder来替代label时,给label添加class=‘ui-hidden-accessible’属性达到隐藏的目的。

    form中所有元素的前面添加含有data-role='fieldcontain'属性的div,会根据屏幕宽度自动设置表单样式。

   给元素添加data-role = "none"属性,避免jQuery Mobile自动为其添加样式。

     

<form method="post" action="demoform.asp">
       <div data-role="fieldcontain">
             <label for="fname">姓名:</label>
             <input type="text"  data-role= "none" name="fname" id="fname">
             <input type="submit" data-inline="true" value="提交">
       </div>
    </form>


      <form method="post" action="demoform.asp">
      <label for="fname" class="ui-hidden-accessible">姓名</label>
      <input type="text" name="fname" id="fname" placeholder="姓名...">
      <input type="submit" data-inline="true" value="提交">
    </form>

    jQuery Mobile 提交表单,会自动使用ajax提交表单。

2 输入

    使用标准的html元素,也可以使用html5的元素。type可以为text、date、email、radio、search、checkbox等等。  <textarea> 用来输入多行文本。

    placeholder属性为输入提示。

   单选 和 复选 按钮组可以使用<fieldset data-role='controlgroup' data-type='horizontal'>标签来组合这些选项。  data-type='horizontal' 属性可以让按钮水平显示。

  <legend> 属性用来定义标题。
   

<form method="post" action="demoform.asp">
  <div data-role="fieldcontain">
    <label for="fullname">全名:</label>
    <input type="text" name="fullname" id="fullname">

    <label for="bday">生日:</label>
    <input type="date" name="bday" id="bday">

    <label for="email">电邮:</label>
    <input type="email" name="email" id="email" placeholder="您的邮件地址..">

    <label for="info">Additional Information:</label>
    <textarea name="addinfo" id="info" ></textarea>

    <label for="search">Search:</label>
    <input type="search" name="search" id="search">

    <fieldset data-role="controlgroup" data-type="horizontal">
     <legend>Choose your gender:</legend>
      <label for="male">Male</label>
      <input type="radio" name="gender" id="male" value="male" checked>
      <label for="female">Female</label>
      <input type="radio" name="gender" id="female" value="female"> 
    </fieldset>  


       <legend>Choose as many favorite colors as you'd like:</legend>
      <label for="red">Red</label>
      <input type="checkbox" name="favcolor" id="red" value="red">
      <label for="green">Green</label>
      <input type="checkbox" name="favcolor" id="green" value="green">
      <label for="blue">Blue</label>
      <input type="checkbox" name="favcolor" id="blue" value="blue"> 
 
       
     
  </div>
</form>

3 选择(select)

    <optgroup>标签用来分组。

   data-native-menu = 'false' 可以使所有平台上的样式显示一样。

    multiple 让select改为多选。

   <div data-role="fieldcontain"> 可以组合多个选择菜单。

    <fieldset> 标签添加data-type='horizontal' 使多个水平显示。

    <fieldset> 标签添加data-role="collapsible" 可创建可折叠表单。

<form method="post" action="demoform.asp">
     <div data-role='fieldcontain'>
      <fieldset data-role="fieldcontain">
        <label for="day">选择天</label>
        <select name="day" id="day" data-native-menu="false" multiple>
		<optgroup label="工作日">
         <option value="mon">星期一</option>
         <option value="tue">星期二</option>
         <option value="wed">星期三</option>
         <option value="thu">星期四</option>
         <option value="fri">星期五</option>
		</optgroup>
		<optgroup label="周末">
         <option value="sat">星期六</option>
         <option value="sun">星期日</option>
		</optgroup>
        </select>
      </fieldset>
      <input type="submit" data-inline="true" value="提交">
      </div>
    </form>

 

4、滑动

   数字滑动选择,data-hightlight="true"让已选择的区域高亮显示。

   

<form method="post" action="demoform.asp">
  <div data-role="fieldcontain">
    <label for="points">Points:</label>
    <input type="range" name="points" id="points" value="50" min="0" max="100" data-hightlight="true">
  </div>
</form>

   

    切换开关, 给select添加data-role="slider"来实现。

    

<form method="post" action="demoform.asp">
  <div data-role="fieldcontain">
    <label for="switch">Toggle Switch:</label>
    <select name="switch" id="switch" data-role="slider">
      <option value="on">On</option>
      <option value="off" selected>Off</option>
    </select>
  </div>
</form>

 

相关推荐