HTML5 智能表单
HTML5 智能表单
用户名:<input type="text" name="username" pattern="^[a-zA-Z]\w{2,7}" title="必须以字母开头,包含字符或数字,长度是3~8"/><br/>
密码:<input type="text" name="password" pattern="\d{6}" title="必须输入6个数字" /><br />
姓名:<input type="text" placeholder="请输入您的真实姓名" name="username"><br />
URL网址:<input type="url" name="rul" title="URL应包括访问协议">
Email:<input type="email" name="email" title="email的格式是 XXX@XXX.XX ">
<input type="number/range" min="最小值" max="最大值" step="改变数值的步长" name="number/range">
<input type="text" name="degree" form="register" list="degree">
<datalist id="degree">
<option label="top1" value="大专"></option>
<option label="top2" value="本科"></option>
<option label="top3" value="研究生"></option>
</datalist>
<meter value="3" min="0" max="10">十分之三</meter>或<meter value="0.6"></meter>
<h1>Please activate all the checkboxes</h1>
<form method="get">
<input type="checkbox" onchange="updateProgress()" />
<input type="checkbox" onchange="updateProgress()" />
<!--and 8 more-->
<p>
Progress:<progress value="0" max="10" id="pb"></progress></p>
</form>
<script type="text/javascript">
function updateProgress(){
var pb=document.getElementById("pb");
var ip=document.getElementsByTagName("input");
var cnt=0;
for(var i=0;i<ip.length;i++){
if(ip[i].checked==true){
cnt++;
}
}
pb.value=cnt;
}
</script>
<table border="1" width="369" height="169">
<tr><th>Product</th><th>Price(US$)</th><th>Quantity</th></tr>
<tr><td>Keyboard</td><td class="num" id="i1Price">39.50</td>
<td><input name="i1" id="i1" type="number" min="0" value="0" max="99" /></td></tr>
<tr><td>Mouse</td><td class="num" id="i2Price">26.30</td>
<td><input name="i2" id="i2" type="number" min="0" value="0" max="99" /></td></tr>
<tr><td>Monitor</td><td class="num" id="i3Price">264.50</td>
<td><input name="i3" id="i3" type="number" min="0" value="0" max="99" /></td></tr>
</table>
<!-- output 元素在表格下方,相应输入字段中商品的 ID被赋值给 for属性。 -->
<p>Your shopping cart contains
<output name="sumProd" for="i1 i2 i3" id="sumProd"></output>
items.Total price:
<output name="sum" for="i1 i2 i3" id="sum"></output>US$</p>
<!-- 在这段JavaScript代码中,会遍历计算所有的 input元素,得出总数量和总价格。 -->
<script type="text/javascript">
function updateSum(){
var ips = document.getElementsByTagName("input");
var sum = 0;
var prods = 0;
for (var i=0;i<ips.length;i++){
var cnt=Number(ips[i].value);
if (cnt>0){
sum +=cnt*Number(document.getElementById(
ips[i].name+"Price").innerHTML);
prods +=cnt;
}
}
document.getElementById("sumProd").value=prods;
document.getElementById("sum").value=sum;
}
</script>
Product | Price(US$) | Quantity |
---|---|---|
Keyboard | 39.50 | |
Mouse | 26.30 | |
Monitor | 264.50 |
Your shopping cart contains items.Total price: US$
姓名:<input type="text" name="username" required>
年龄:<input type="number" name="age" min="1" max="150" step="1">
手机号码:<input type="text" name="phone" pattern="\d{11}" title="请输入11位的手机号码">
<script type="text/javascript">
function check(){
var psw=document.getElementById("psw");
if(psw.checkValidity())
alert("密码输入正确");
else
alert("密码输入错误,请再输一次");
return false;
}
</script>
<form onsubmit="return check()">
密码:<input type="password" pattern="^[a-zA-Z]\w{3,6}"
name="psw" id="psw" required /><br />
<input type="submit" value="提交" />
</form>
<script type="text/javascript">
function check(){
var psw1=document.getElementById("password1");
var psw2=document.getElementById("password2");
if(psw1.value!=psw2.value)
psw2.setCustomValidity("密码和确定密码不一致");
return false;
}
</script>
<form action="">
密码:<input type="password" id="password1" name="password1" /><br />
确认密码:<input type="password" id="password2" name="password2" /><br />
<input type="submit" name="" id="" value="提交" onclick="check()" />
</form>
<!doctype html>
<html lang="en">
<head>
<meta charset="utf-8" />
<title>智能表单</title>
<style>
body{ line-height:25px;}
</style>
<script>
//对用户提交的表单进行校验
function checkInput(){
var flag=false;
var username=$("username").value;
var pwd=$("pwd").value;
var email=$("email").value;
if(username==""){
alert("用户名不能为空!");
}else if(username.length<3){
alert("用户名长度必须大于3!");
}else if(pwd.length<6||pwd.length>14){
alert("密码长度必须在6-14之间!");
}else if(email.indexOf("@")==-1){
alert("邮箱格式不正确!");
}else{
flag=true;
}
return flag;
} function check(){
var psw1=document.getElementById("password1");
var psw2=document.getElementById("password2");
if(psw1.value!=psw2.value)
psw2.setCustomValidity("密码和确定密码不一致");
return false;
} function $(id){
return document.getElementById(id);
}
</script>
<head>
<body>
<form action="" method="post" id="register" onsubmit="return check()">
用户名:<input type="text" name="username" form="register" id="username" placeholder="请输入用户名" pattern="u\d{4}" autocomplete="off" autofocus/>autofocus 自动获得焦点, autocomplete="off" 属性,这意味着涉及机密信息,不应被浏览器保存。<br/>
密码:<input type="password" id="password1" name="password1" placeholder="请输入密码"/>placeholder="请输入密码"<br />
确认密码:<input type="password" id="password2" name="password2" /><br />
<input type="submit" name="" id="" value="提交" onclick="check()" /><br/>
email:<input type="email" name="email" form="register" id="email" required />required 属性 定义必填项<br/>
URL:<input type="url" name="url" form="register" /><br/>
日期和时间datetime:<input type="datetime" name="datetime" form="register" />目前,很多浏览器都不支持datetime这个类型。故没效果<br/>
本地日期和时间datetime-local:<input type="datetime-local" name="datetime-local" form="register" /><br/>
日期date:<input type="date" name="date" form="register" /><br/>
时间time:<input type="time" name="time" form="register" /><br/>
月份month:<input type="month" name="month" form="register" /><br/>
星期week:<input type="week" name="week" form="register" /><br/>
数字number:<input type="number" name="number" min="1" max="10" step="2" form="register" /><br/>
滚动条range:<input type="range" name="range" min="1" max="10" form="register"/><br/>
手机tel:<input type="tel" name="phone" pattern="\d{11}" title="请输入11位的手机号码" form="register" />pattern="\d{11}" title="请输入11位的手机号码"<br/>
搜索search:<input type="search" name="search" results="n" form="register" /><br/>
颜色color:<input type="color" name="color" form="register"/><br/>
学历datalist:<input type="text" name="degree" form="register" list="degree"/><br/>
<datalist id="degree">
<option label="top1" value="高中"></option>
<option label="top2" value="大专"></option>
<option label="top3" value="本科"></option>
<option label="top4" value="研究生"></option>
<option label="top5" value="博士"></option>
</datalist>
<input type="submit" value="登陆" form="register" />
<input type="submit" value="注册" form="register" />
<input type="submit" value="formaction='delete.jsp'" form="register" formaction="delete.jsp" />
</form>
meter 显示度量:<meter value="3" min="0" max="10">十分之三</meter><br/>
<p>用 progress 显示任务进程:</p>
<h1>Please activate all the checkboxes</h1>
<form method="get">
<input type="checkbox" onchange="updateProgress()" />
<input type="checkbox" onchange="updateProgress()" />
<!--and 8 more-->
<p>
Progress:<progress value="0" max="10" id="pb"></progress></p>
</form>
<p>用 output 进行计算:</p>
<p>
<form oninput="x.value=parseInt(a.value)+parseInt(b.value)">0
<input type="range" id="a" value="50">100+<input type="number" id="b" value="50">=<output name="x" for="a b"></output>
</form>
</p>
<script type="text/javascript">
function updateProgress(){
var pb=document.getElementById("pb");
var ip=document.getElementsByTagName("input");
var cnt=0;
for(var i=0;i<ip.length;i++){
if(ip[i].checked==true){
cnt++;
}
}
pb.value=cnt;
}
</script>
</body>
</html>
HTML5 智能表单的更多相关文章
- HTML5智能表单
HTML5 智能表单 1.表单新增属性 ☀ autofocus 属性 <input type="text" autofocus/>设置 autofocus 属性,使文 ...
- 第86天:HTML5应用程序标签和智能表单
一.HTML5应用程序标签 1.datalist需要数据载体 input list属性指向数据源 2.progress进度条 -webkit-appearance: none; /*如果要改默认样 ...
- HTML5_智能表单
1.HTML5中为了方便排版,可以使from中的表单标签脱离from的嵌套.方法:from指定ID,所有表单标签均添加from=id属性. <form action="http://l ...
- BootStrap 智能表单系列 八 表单配置json详解
本章属于该系列的高级部分,将介绍表单中一些列的配置 1.config列的配置: 主要用于控制布局 :config:{autoLayout:true|'1,2,2,4'} true:根据配置项最里层的数 ...
- hTML5实现表单内的上传文件框,上传前预览图片,针刷新预览images
hTML5实现表单内的上传文件框,上传前预览图片,针刷新预览images, 本例子主要是使用HTML5 的File API,建立一個可存取到该file的url, 一个空的img标签,ID为img0,把 ...
- BootStrap 智能表单系列 首页 (持续更新中...)
背景:本码农.NET后端工程师,在项目开发中发现写了很多重复的代码, 于是自己整了一套根据配置来生成form表单的插件,针对表单的改动仅需要修改配置的json即可 使用中发现还是蛮实用的,于是开源出来 ...
- BootStrap 智能表单系列 十一 级联下拉的支持
像省市县选择的这种,但凡是个人肯定都见过,实现方式有很多种 1.有在第一级选择的时候去加载或者从本地对象中拿第一级对应的数据源显示到列表中,第二级以此类推 2.也有将所有的项都加载到select中,然 ...
- BootStrap 智能表单系列 十 自动完成组件的支持
web开发中,肯定遇到像百度.google这种搜索的功能吧,那智能表单中的自动完成可以做什么呢,下面来揭晓: 1.包含像google.百度等类似的简单搜索 2.复杂结构的支持,比如说 输入产品编号,需 ...
- BootStrap 智能表单系列 九 表单图片上传的支持
本章介绍如何在生成表单后,可以支持上传图片后可以及时预览图片 代码如下(连接地址:https://github.com/xiexingen/Bootstrap-SmartForm/blob/maste ...
随机推荐
- ylb:SQLServer常用系统函数-字符串函数、配置函数、系统统计函数
原文:ylb:SQLServer常用系统函数-字符串函数.配置函数.系统统计函数 ylbtech-SQL Server:SQL Server-SQLServer常用系统函数 -- ========== ...
- android 删除SD卡或手机的缓存图像和文件夹
public static final String TEMP_PHOTO_FILE_NAME = "temp_photo.jpg"; private static String ...
- Python 3语法小记(九) 异常 Exception
常见异常: Exception 所有异常的基类 AttributeError 特性应用或赋值失败时引发 IOError ...
- mysql基础之基本数据类型
原文:mysql基础之基本数据类型 列类型学习 mysql三大列类型 整型 Tinyint/ smallint/ mediumint/int/ bigint(M) unsigned zerofill ...
- Node填坑教程——简易http服务器
我们这一期做一个简易的http服务器. 先建一个文件夹,就算是一个空的项目了.然后新建app.js和package.json文件. 这样一个简易项目的基本文件就建好了. 通过命令行工具,在项目路径下输 ...
- 用C++进行简单的文件I/O操作-转自VC知识库
原文请见 http://www.vckbase.com/index.php/wv/1158 序论 我曾发表过文件输入输出的文章,现在觉得有必要再写一点.文件 I/O 在C++中比烤蛋糕简单多了. 在这 ...
- Matlab中如何用命令方式保存图像?
命令很简单,例如下面这个代码将当前图像保存到F1.emf文件中,保存格式为emf saveas(gcf,'F.emf','emf'); 当然了,也可以保存为jpg格式,修改为: saveas(gcf, ...
- SZU:B54 Dual Palindromes
Judge Info Memory Limit: 32768KB Case Time Limit: 10000MS Time Limit: 10000MS Judger: Number Only Ju ...
- 【Apache ZooKeeper】命令行zkCli.sh使用指南
ZooKeeper命令行 原文 http://blog.csdn.net/ganglia/article/details/11606807 ZooKeeper客户端 ...
- SQL Server的数据加密简介
防止开发人员获取到敏感数据(SQL Server的数据加密简介) 背景 有时候,我们还真的会碰到这样的需求:防止开发人员获取到敏感数据.也许你觉得很简单,把开发和运营分开不就可以了吗?是的,如果公司有 ...