<!DOCTYPE html>
<html>
<head lang="en">
<title></title>
<meta charset="utf-8">
</head>
<body>
当前行车速度:<meter value="159" min="0" max="220" low="0" high="160">120</meter>千米/小时<br/>
<!--
属性说明:
value:当前值 默认0
min:最小值 默认0
max:最大值 默认1
low:指定范围最小值 必须 > min
high:指定范围最大值 必须 < max
optimun:有效范围最佳值 如果该值 > high 说明越大越好,< low 说明越小越好
-->
任务完成比例:<progress value="30" max="100">30/100</progress><br/>
<script type="text/javascript">
</script>
</body>
</html>
  • 新增元素与属性

form:指明元素归属哪个表单,可以写在form标签的外部,以前所有的表单元素都必须写在form表单内的
formaction:元素所属的action
formmethod:元素提交方式
placeholder:提示输入
autofocus:获取输入焦点
list:与datelist配合生成下拉框

 <input type="text" name="greeting" list="greetings">
<datalist id="greetings" style="disable:none">
<option value="1">早上好</option>
<option value="2">中午好</option>
<option value="3">晚上好</option>
</datalist>
  • 新增与改良的input type属性

search:用于站点搜索,样式与text一样,但safari中search与text是不同的
tel:与text类似,但用于电话
url:与text文本框类似,但必须输入满足url格式的文字
email:可以使用multiple属性,传递多个email地址,用逗号分隔
datetime、date、month、week、time、datetime-location
number
range:只允许输入一定范围内数值的文本框,包含min与max属性,默认0~100
color:颜色文本选择框
file:可以通过指定multiple属性,选择多个文件

  • 验证

required:是否必填
pattern:指定正则表达式
min、max:对于数值或日期类型,设置了最值
step:增大或减小时的步幅
formnovalidate:配置在提交按钮上或input上,对应的校验会消失

  • 文件API

FileList对象:表示用户选择的文件列表
file对象:FileList中的每个元素都是file对象

举例:获取多选的文件

    <!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
<script type="text/javascript">
function showFileName(){
var file;
var upFiles = document.getElementById("file").files;
var len = upFiles.length;
for (var i = 0;i < len;i++){
file = upFiles[i];
document.write(file.name);
document.write("<br/>");
}
}
</script>
</head>
<body>
文件选择:<input type="file" multiple id="file" size="80" /><input type="button" value="文件上传" onclick="showFileName()"> </body>
</html>

1 下拉框

<!DOCTYPE html>
<html>
<head lang="en">
<title></title>
<meta charset="utf-8">
</head>
<body>
<form>
单选
<select>
<option>1</option>
<option>2</option>
<option>3</option>
<option>4</option>
</select><tr>
多选
<select multiple="multiple">
<option>1</option>
<option>2</option>
<option>3</option>
<option>5</option>
<option>6</option>
<option>7</option>
<option>8</option>
<option>9</option>
<option>0</option>
</select><tr>
optiongroup
<select multiple="multiple">
<optgroup label="书籍1">
<option>1_1</option>
<option>1_2</option>
<option>1_3</option>
<option>1_4</option>
<option>1_5</option>
<option>1_6</option>
</optgroup>
<optgroup label="书籍2">
<option>2_1</option>
<option>2_2</option>
<option>2_3</option>
<option>2_4</option>
<option>2_5</option>
<option>2_6</option>
</optgroup>
</select>
</tr>
</form>
<script type="text/javascript">
</script>
</body>
</html>

2 表单属性

<!DOCTYPE html>
<html>
<head lang="en">
<title></title>
<meta charset="utf-8">
</head>
<body>
<form>
<!-- placeholder 属性指定提示内容 -->
<input type="text" placeholder="提示内容"><br/>
<!--输入与下拉同时使用-->
<input type="text" name="book" list="books" /><br/> <!--通过指定formaction属性提交给不同的Action,不再需要通过JavaScript修改提交的Action-->
<input type="submit" formaction="action1">
<input type="submit" formaction="action2">
</form>
<datalist id="books">
<option>书籍_1</option>
<option>书籍_2</option>
<option>书籍_3</option>
<option>书籍_4</option>
</datalist>
<hr/>
多文件上传
<input type="file" multiple id="images" accept="image/*" />
<input type="button" value="显示文件" onclick="showDetails()" />
<script type="text/javascript">
var showDetails = function(){
var imageFile = document.getElementById("images");
var fileList = imageFile.files;
for(var i = 0;i < fileList.length;i++){
var file = fileList[i];
var div = document.createElement("div");
div.innerHTML = "第"+(i+1)+"个文件的文件名是:"+file.name+",该文件大小是:"+file.size;
document.body.appendChild(div);
}
}
</script>
</body>
</html>

3 读取上传文件内容

<!DOCTYPE html>
<html>
<head lang="en">
<title></title>
<meta charset="utf-8">
</head>
<body>
浏览文件:<input type="file" id="file1" /><br/>
<div id="result"></div>
<input type="button" value="读取文本文件" onclick="readText();"><br/>
<input type="button" value="读取二进制文件" onclick="readBinary();"><br/>
<input type="button" value="以DataURL方式读取" onclick="readURL();"><br/>
<script type="text/javascript">
var reader = null;
if(FileReader){
reader = new FileReader();
}else{
alert("浏览器暂不支持FileReader对象");
} var readText = function(){
reader.readAsText(document.getElementById("file1").files[0],"gbk");
reader.onload = function(){
document.getElementById("result").innerHTML = reader.result;
}
} var readBinary = function(){
reader.readAsBinaryString(document.getElementById("file1").files[0]);
reader.onload = function(){
document.getElementById("result").innerHTML = reader.result;
}
} var readURL = function(){
reader.readAsDataURL(document.getElementById("file1").files[0]);
reader.onload = function(){
document.getElementById("result").innerHTML = reader.result;
}
}
</script>
</body>
</html>

HTML表单与文件的更多相关文章

  1. js实现无刷新表单提交文件,将ajax请求转换为form请求方法

    最近在做项目的时候遇到一个需要上传文件的需求,因为ajax请求是无法上传二进制文件流的,所以只能用form表单提交,而form提交有一个问题就是会使页面刷新,本文解决了form表单提交文件时页面刷新的 ...

  2. Struts2文件上传(基于表单的文件上传)

    •Commons-FileUpload组件 –Commons是Apache开放源代码组织的一个Java子项目,其中的FileUpload是用来处理HTTP文件上传的子项目   •Commons-Fil ...

  3. [原创]java WEB学习笔记49:文件上传基础,基于表单的文件上传,使用fileuoload 组件

    本博客为原创:综合 尚硅谷(http://www.atguigu.com)的系统教程(深表感谢)和 网络上的现有资源(博客,文档,图书等),资源的出处我会标明 本博客的目的:①总结自己的学习过程,相当 ...

  4. SpringMVC 完美解决PUT请求参数绑定问题(普通表单和文件表单)

    一 解决方案 修改web.xml配置文件 将下面配置拷贝进去(在原有的web-app节点里面配置 其它配置不变) <!-- 处理PUT提交参数(只对基础表单生效) --> <filt ...

  5. formidable处理提交的表单或文件的简单介绍

    一般来说,客户端向服务端提交数据有GET和POST这两种方式,在之前的文章node.js当中的http模块与url模块的简单介绍当中我们可以知道通过req.url与url模块的配合处理可以快速得到客户 ...

  6. FastAPI 学习之路(十八)表单与文件

    系列文章: FastAPI 学习之路(一)fastapi--高性能web开发框架 FastAPI 学习之路(二) FastAPI 学习之路(三) FastAPI 学习之路(四) FastAPI 学习之 ...

  7. 表单多文件上传样式美化 && 支持选中文件后删除相关项

    开发中会经常涉及到文件上传的需求,根据业务不同的需求,有不同的文件上传情况. 有简单的单文件上传,有多文件上传,因浏览器原生的文件上传样式及功能的支持度不算太高,很多时候我们会对样式进行美化,对功能进 ...

  8. Ajax提交Form表单及文件上传

    刚刚申请下来的博客,写得第一篇.有点小激动,本人以前是一名工业3D设计师突然有些变故做上了JavaWeb开发: 前几天,发现了一些小问题.我在写后台管理页面时,需要上传一张图片.于是我就用很普通的Fo ...

  9. .net c# 提交包含文件file 的form表单 获得文件的Stream流

    1.前台html代码 要写一个有id的form,可是不能有runat="server"属性.由于一个页面中,有这个属性的form表单仅仅能有一个. 再要有一个有name的ifram ...

  10. php表单提交--文件

    创建一个文件上传表单 允许用户从表单上传文件是非常有用的. 请看下面这个供上传文件的 HTML 表单: <!doctype html> <html> <head> ...

随机推荐

  1. java +selenuim使用js显示控件

    操作selenium控件时,往往需要有些控件提前显示,特别是后台的一些控件,或者需要使用鼠标显示下拉的操作,有时鼠标悬停,在点击不怎么好使,就可以依靠js方式,提前让控件显示. 1.使用style的方 ...

  2. Android(java)学习笔记86:Android提供打开各种文件的API接口:setDataAndType

    1. Android 打开各种文件(setDataAndType) private void openFile(File file){ Intent intent = new Intent(); in ...

  3. 实现带查询功能的ComboBox控件

    实现效果: 知识运用: ComboBox控件的AutoCompleteMode属性 public AutoCompleteMode AutoCompleteMode{get;set;} //属性值为枚 ...

  4. 2017.12.13 Java中是怎样通过类名,创建一个这个类的数组

    先在类方法中定义数组的方法: public int[] method6(int[] arr){ for(int i = 0; i<arr.length;i++){ arr[i] = (int)( ...

  5. python之列表推导、迭代器、生成器

    http://blog.chinaunix.net/uid-26722078-id-3484197.html 1.列表推导 看几个例子,一切就明白了. #!/usr/bin/python number ...

  6. Java异常处理的9个最佳实践

    无论你是新手还是资深程序员,复习下异常处理的实践总是一件好事,因为这能确保你与你的团队在遇到问题时能够处理得了它. 在 Java 中处理异常并不是一件易事.新手觉得处理异常难以理解,甚至是资深开发者也 ...

  7. java基础面试题:运行时异常与一般异常有何异同?error和exception有什么区别? 请写出你最常见到的5个runtimeexception?

    Throwable是Java错误处理的父类,有两个子类:Error和Exception. Error:无法预期的严重错误,导致JVM虚拟机无法继续执行,几乎无法恢复捕捉的 Exception:可恢复捕 ...

  8. require.js模块化开发

    模块化开发的原因: 1.引入的js过多然后在加载的过程中容易出现假死的状态,导致页面会发生白屏 2.变量名的问题 在多人协作开发的时候容易出现变量名的冲突 面向对象 3.引入优先级的问题 模块化开发分 ...

  9. SummerVocation_Learning--java的String类方法总结

    壹: public char charAt(int index),返回字符串中第index个字符. public int length(), 返回字符串长度. public int indexOf(S ...

  10. [NOI2007]货币兑换Cash

    Time Limit: 5 Sec  Memory Limit: 64 MBSubmit: 6353  Solved: 2563[Submit][Status][Discuss] Descriptio ...