一.表单
基本语法:
<form method="表单提交方式(post/get)" action="表单提交地址">
</form>
二.input元素
type:代表input元素类型
name: 表单元素名称
value: 表单元素初始值
size: 表单宽度
maxLength: 输入的最大字符数
checked: 主要用于单选或多选按钮,代表默认选中
三.常用表单元素
1.普通文本框
<input type="text" name="username" value="王" size="30px" maxlength="10"/>
2.密码框
<input type="password" name="password" size="30" maxlength="16"/>
3.单选按钮(name属性必须有,值相同)
<input type="radio" name="gender" value="男" checked/>
<input type="radio" name="gender" value="女"/>
4.多选按钮(name属性必须有,值相同,可以选择多个)
<input type="checkbox" name="hobby" value="睡觉" checked/>睡觉
<input type="checkbox" name="hobby" value="吃饭"/>吃饭
<input type="checkbox" name="hobby" value="打豆豆"/>打豆豆
5.下拉框(name属性必须有,size代表初始显示项数)
<select name="address">
<option value="北京" name="bj">北京</option>
<option value="上海" name="sh">上海</option>
<option value="南京" name="nj">南京</option>
<option value="山东" name="sd" selected>山东</option>
<option value="西安" name="xa">西安</option>
</select>
图例:
6.按钮
button普通按钮:<input type="button" name="button" value="普通按钮"/>
reset按钮:(重置表单数据)<input type="reset" name="reset" value="重置按钮"/>
submit提交按钮:<input type="submit" name="submit" value="提交按钮"/>
image图像按钮(同样会提交表单数据):<input type="image" src="../image/login.gif" name="image"/>
7.多行文本域
<textarea name="textarea" rows="20" cols="50"></textarea>
8.文件域
<form action="" method="post" enctype="multipart/form-data">
<input type="file" name="files" />
</form>
9.email自动验证:
<input type="email" name="email"/>
图例:
10.网址自动验证:
<input type="url" name="url"/>
图例:
11.数字:
<input type="number" min="0" max="100" step="5" name="number"/>
图例:
12.特定范围内的数值选择器
<input type="range" step="2" min="0" max="10" value="2"/>
min:起始点,max:最大值,value:当前值,step:每次跳几步
图例:
13.搜索框:
<input type="search" name="search"/>
图例:
14.电话号码:
<input type="tel" name=""/>
15.特定范围内的数值选择器
<input type="range" step="2" min="0" max="10" value="2"/>
min:起始点,max:最大值,value:当前值,step:每次跳几步
图例:
16.颜色选择器
<input type="color" name=""/>
图例:
17.time:显示时间
<input type="time" name=""/>
图例:
18.:显示日期
<input type="date" name=""/>
图例:
19.:显示周
<input type="week" name=""/>
图例:
20.:显示月
<input type="month" name=""/>
图例:
20.:输入框显示信息
<input type="type" placeholder="输入4~16个字符"/>
图例:
21.:是否保存用户输入值:默认为on,关闭为off
<input type="type" name=““ autocomplete=“off”/>
图例:
22.指定表单获取输入焦点
<input type="type" name=“user“ autofocus/>
<input type="password" name=“password“ />
图例:
22.此项必填,不能为空
<input type="type" name=“user“ required/>
<input type="password" name=“password“ required/>
图例:
23.正则验证
<input type="text" name=“user“ pattern="\d{1,5}"/>
图例:
24.在submit里定义提交地址
<form action="" method="get">
<input type="text" name="user" pattern="\d{1,5}"/>
<input type="submit" value="提交"/>
<input type="submit" value="保存至草稿箱" formaction=“www.baidu.com”/>
</form>
在Opera浏览器下有用
四.表单的高级应用
1.隐藏域(在表单当中不会显示,但是确实存在数据,当提交时会将隐藏用于数据一起提交)
<input type="hidden" value="666" name="userid">
2.只读和禁用
<input name="name" type="text" value="张三" readonly>
<input type="submit " disabled value="保存" >
3.标注(光标定位)
<label for="id">标注的文本</label>
<input type="radio" name="gender" id="male"/>
五.表单的验证
<form action="" method="get">
<input type="text" required id="text"/>
<input type="submit" value="提交"/>
</form>
<script>
var oText=document.getElementById(‘text‘);
oText.addEventListener(‘invalid‘,fn,false);
function fn(){
alert(this.validity);
alert(this.validity.valid);
//1.valueMissing:输入值为空
alert(this.validity.valueMissing);//true
//2.typeMismatch:控件值与预期类型不匹配返回true
alert(this.validity.typeMismatch);//<input type="email" id="text"/>==>true
//3.patternMismatch:输入值不满足pattern正则返回true
alert(this.validity.typeMismatch)//<input type="text" id="text" pattern="\d{1,5}"/>==>true
//4.tooLong:超过maxLength最大限制
alert(this.validity.tooLong)//<input type="email" id="text" maxlength="5"/>==>true
//5.rangeUnderflow:验证的range的最小值
//6.rangeOverflow:验证的range的最大值
//7.stepMismatch:验证的range的当前值是否符合min max step的规则
alert(this.validity.tooLong)//<input type="range" id="text" max="10" min="0" step="2"/>==>true
//customError不符合自定义验证
oText.oninput=function(){
this.setCustomValidity("请不要输入敏感词")
}else{
this.setCustomValidity("")
}
}
function fn(){
alert(this.validity.customError)
ev.preventDefault();
}
ev.preventDefault();
}
</script>
原文:https://www.cnblogs.com/mo123/p/10869033.html