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 ...
随机推荐
- QT中出现“无法解析的外部符号”错误
串口中我要把奇偶校验等enum数据对应写到一个ComboBox中去,所以需要在我的Settings类中加入一个函数用来转换. 这里,我首先在settings.h的class Settings中加上对该 ...
- GDI+ 摘要: 保存图像文件
要保存图像文件,必须先获得图像的编码格式信息.可是GDI+没有直接提供这个函数:GetEncoderClsid(const WCHAR* format, CLSID* pClsid) 因此须要我们自己 ...
- solrnet的使用
solr与.net系列课程(五)solrnet的使用 solr与.net系列课程(五)solrnet的使用 最近因项目比较忙,所以这篇文章出的比较晚,离上一篇文章已经有半个月的时间了,这节课我们 ...
- TodoList开发笔记 – PartⅠ
做了一年多的桌面软件,最近开始转向Web方面的开发,既然比较熟悉Net那么首当其冲就是学习ASP.Net,以及HTML.CSS.Javascript. 为了检验这个把星期来的学习成果,着手做了一个To ...
- dcmtk常用命令
dump2dcm 把普通文件转换成含有dcm头的文件,参数为源文件,目标文件 例:dump2dcm q1.txt query.dcm 表示把q1.txt文件转换为query.dcm dcmdump 阅 ...
- Json.Net6.0
Json.Net6.0入门学习试水篇 前言 JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式.简单地说,JSON 可以将 JavaScript 对象中表 ...
- EntityFramework中支持BulkInsert扩展
EntityFramework中支持BulkInsert扩展 本文为 Dennis Gao 原创技术文章,发表于博客园博客,未经作者本人允许禁止任何形式的转载. 前言 很显然,你应该不至于使用 Ent ...
- 使用Eclipse开始Java编程
欢迎访问我的新博客:http://www.milkcu.com/blog/ 原文地址:http://www.milkcu.com/blog/archives/start-java-programing ...
- c++类的构造函数与析构函数
为什么用构造函数与析构函数 构造函数: c++目标是让使用类对象就像使用标准类型一样,但是常规化的初始化句法不适用与类类型. ; //基本类型 struct thing { char *pn; int ...
- C# 号码归属地查询算法
C# 号码归属地查询算法(根据Android来电归属地二进制文件查询修改) 前言 近期有个项目需要用到号码归属查询,归属地数据库可能比不上ip138,淘宝上也有卖的-,-! 文本提供一个279188条 ...