篇介绍了表单的使用,表单有很多控件,比如输入框,密码框、文本域,按钮等。按类型可分如下:
此类控件有很多种类型,使用<input type="类型">语法,常见类型如下:
type 值 | 含义 |
text | 文字字段 |
password | 密码域,用户看不到明文,以*代替 |
radio | 单选按钮 |
checkbox | 多选按钮 |
button | 普通按钮 |
submit | 提交按钮 |
reset | 重置按钮 |
image | 图像域,用图像作为背景的提交按钮 |
hidden | 隐藏域,不可见的输入框 |
file | 文本域,用于上传文件等非文本数据 |
文本输入框和密码框
除了显示形式不一样,其它属性一样,有以下属性:
如下是文本输入框和密码框制作一个登录表单
html代码:
<!DOCTYPE html>
<html>
<body>
<h1>用户登录</h1>
<form action="/demo/html/action_page.php">
<label for="fname">用户名:</label><br>
<input type="text" id="username" name="username" value=""><br>
<label for="lname">密码:</label><br>
<input type="password" id="pwsd" name="pwsd" value=""><br><br>
<input type="submit" value="提交">
</form>
</body>
</html>
显示效果:
HTML5 输入类型
除了以上几种类型,HTML5 还增加了多个新的输入类型:
如下代码:
<!DOCTYPE html>
<html>
<body>
<form action="/demo/demo_form.asp">
数字类型(1 到 5 之间):
<input type="number" name="quantity" min="1" max="5">
IE9 及早期版本不支持 type="number"。<br>
color 选择颜色:
<input type="color" name="color"><br>
生日:
<input type="date" name="bday"><br>
年月:
<input type="month" name="bdaymonth"><br>
年周:
<input type="week" name="week_year"><br>
时间:
<input type="time" name="usr_time"><br>
一定范围
<input type="range" name="points" min="0" max="10"><br>
E-mail:
<input type="email" name="email">
能够在被提交时自动对电子邮件地址进行验证<br>
搜索:
<input type="search" name="googlesearch"><br>
电话:
<input type="tel" name="usrtel">
目前只有 Safari 8 支持 tel 类型。<br>
url:
<input type="url" name="url">
提交时能够自动验证 url 字段<br>
<input type="submit">
</form>
</body>
</html>
效果如下:
单选和多选按钮
使用 type = “radio” 和 type =“checkbox” 定义是单选还是多选,除了name和value属性外,单选和多选都有一个 checked属性定义默认选择的项,checked = “true”指选中那个选项,表单会将 checked = “true” 的选型值传递给后台。
如下实例:
<!DOCTYPE html>
<html>
<body>
<h4>单选和多选</h4>
<form action="/demo/demo_form.asp">
水果:
<input type="radio" name="shuiguo" value="banner" checked> 香蕉
<input type="radio" name="shuiguo" value="apple"> 苹果
<br><br>
省份:
<input type="checkbox" name="shengfen" value="shannxi" checked> 陕西
<input type="checkbox" name="shengfen" value="sanxi"> 山西
<input type="checkbox" name="shengfen" value="gdong"> 广东
<br><br>
<input type="submit">
</form>
</body>
</html>
显示效果:
单选和多选传递给后台的数据是不一样的,如下会看到地址栏中的数据,多选会发送多个值,后台将会获取一个数组形式的数据。
/demo/demo_form.asp?shuiguo=banner&shengfen=shannxi&shengfen=sanxi
普通按钮、提交按钮、重置按钮
普通按钮:type = “button”,一般配合脚本使用,语法如下:
<input type="button" name="名称" value="按钮值" onclick="脚本程序" />
value 值就是按钮在页面显示的文字,onclick属性定义了脚本事件,这里指单击按钮时所进行的处理。
如下示例:
<!DOCTYPE html>
<html>
<body>
<form>
<input type="button" value="普通按钮">
<input type="button" value="打开窗口" onclick="window.open()">
<input type="button" value="您好" onclick="alert('您好')">
</form>
</body>
</html>
单击您好按钮
提交按钮:type = “submit”,用于提交表单内容,是一种特殊按钮。
如刚才的登录表单,提交后会返回结果:
重置按钮:type="reset",用于清除表单数据,也是一种特殊按钮。
输入数据
点击重置按钮后,表单数据清空
重置清空数据
HTML5 按钮
除了使用input定义按钮,还可以使用 html5 新增的<button> 标签定义按钮,button 使用语法如下:
<form action="/demo/html/action_page.php">
<button type="button">普通按钮</button>
<button type="submit">提交按钮</button>
</form>
其它输入类控件
隐藏域 —— hidden
文件域 —— file
如下示例:
<form action="/demo/html/action_page.php">
<label for="fname">隐藏域:</label>
<input type="hidden" id="hidden" name="hidden" value=""><br>
<label for="lname">文件域:</label>
<input type="file" id="file" name="file" value=""><br>
<input type="submit" value="提交">
</form>
显示效果
可以看到,隐藏域在页面中不显示,单击文件域选择文件按钮可以选择文件,比如word文件,电子表格文件等,会以非文本方式传送到后台的,常用来实现文件上传功能。
除了input 类型的控件,还有文本域 textarea ,一种特殊的文本框,它与input 文本输入框的区别就是可以输入多行文字,input 文本输入框是单行的无法输入多行文字。
如下示例:
<p>textarea 元素定义多行输入字段。</p>
<form action="/demo/html/action_page.php">
<textarea name="message" rows="10" cols="30">The cat was playing in the garden.</textarea>
<br><br>
<input type="submit">
</form>
效果如下:
rows 属性定义文本域的高度是几行,cols 定义文本域宽度占几列,比如上面定义了高10行宽30列的文本域。
下拉菜单作用和单选按钮类似,只不过它更加节省空间,当要选择的选型很多时,就不适合使用radio空间,所以当选项很多的时候,使用下拉菜单,语法如下:
<select name="名称">
<option value="选项值1" selected>选项1</option>
<option value="选项值2">选项3</option>
更多option......
</select>
多选列表和多选按钮类似,一样为了节省空间,当数据选项比较多时,使用多选列表,语法如下:
<select name="名称" size="可看见的列表项数" multiple>
<option value="选项值1" selected>选项1</option>
<option value="选项值2">选项3</option>
更多option......
</select>
多选比下拉菜单不同之处是多了一个multiple属性,定义多选的,且表现形式也不一样,不是下拉而是一个列表。
如下代码:
<!DOCTYPE html>
<html>
<body>
<form action="/demo/demo_form.asp">
下拉菜单:<br>
<select name="cars">
<option value="volvo">Volvo</option>
<option value="saab">Saab</option>
<option value="fiat">Fiat</option>
<option value="audi">Audi</option>
</select>
<br>
多选列表:<br>
<select name="cars" size="3" multiple>
<option value="volvo">Volvo</option>
<option value="saab">Saab</option>
<option value="fiat">Fiat</option>
<option value="audi">Audi</option>
</select>
<br><br>
<input type="submit">
</form>
</body>
</html>
显示效果:
这里需要注意的是,多选列表多选时需要按住ctrl键同时鼠标单击选择才能多选,效果如下:
到这里,已介绍了大部分的表单控件,现在你可以使用他们制作自己的表单,表单通常在动态网站中使用,这为以后制作动态网站打下基础。
还有许多属性没有讲到,比如html5新增的一些属性和功能,可自行参考 w3cshool 等网站学习,感谢关注,学习愉快!
上篇 : 前端入门——html 表单
下篇: 前端入门 —— 网页中使用窗口框架
TML超大文件上传和断点续传的实现,VUE 大文件分片上传(断点续传、并发上传、秒传),完美解决PHP无法上传大文件方法,NGINX 实现文件夹上传(保留目录结构),http之实现文件上传与下载,内网 批量大文件上传下载,浏览器超大文件上传和断点续传的实现,超大文件上传解决方案:分片断点上传,
VUE+ELEMENT 上传文件及文件夹,VUE上传大文件的三种解决方案,DJANGO+VUE实现文件夹上传,前端实现文件夹的上传和下载,HTML+前端超大视频上传解决方案,网页 项目文件夹上传下载解决方案,
在网上也花时间搜索过相关的资料,论坛里面也有网友交流过,还加过很多QQ群微信群,但是结果都不太令人满意。网上的文章吧基本上都是相互抄袭的,内容不能说是一模一样吧,但是实际上都是差不多的,提到的也是HTML5的API,基本上都是说的用的HTML5的API。你说不能用吧他也能传,但是兼容性不行,只能在chrome上面用,用吧也只是基本上的功能,你没办法扩展。
不能够满足公司项目上的需求,公司这边实际上是需要一个成熟的商业解决方案,而不是一个文件的上传思路。但是网上几乎所有的文章都是在讲思路和想法,很少有提供成熟解决方案的。另外一方面就是公司项目需要最好能够提供国企和央企的成功案例,这个也是客户那边的要求。项目这块要求比较高,不可能随便在网上找几个开源的代码糊弄过去,因为后期项目要做维护和升级。
前端用了JS,JQuery,vue2,vue3,vue-cli,html5,html,前端框架也比较多,但是网上提供的都是代码片断。
找了一圈基本上都是讲上传的,下载的讲的很少,文章里面也是写的不详细
客户那边是一家国企,主要也是给政府和央企做项目。实际上客户对具体的技术并不关心。客户关注点不在这块,主要是对稳定性和兼容性比较在意。
网上搜了一下,基本上大部分的文章里面提到的前端JS或VUE或HTML5上传文件夹的方案都是使用JS的API来实现的,也就是html5提供的一个API,也就是chrome提供的API。用是能用,但是不够好用,有很多限制,也不够灵活。不太能够满足用户的实际应用需求,
多多少少还是有点问题,稳定性,灵活性,可扩展性,安全性方面还是有点问题。chrome的每个域名只允许5个TCP连接的限制,这个基本上是一个无法逾越的鸿沟,目前为止网上还没有发现哪家公司或者个人能够突破的。
我们做项目的话个人用户比较少,一般都是行业用户,比如政府,公司,金融,这类企业,他们对用户体验要求较高。就实际项目开发和实施的情况来看,html5或者chrome提供的功能基本上都是不能够满足他们需求的,都需要我们进行定制开发。
文件夹上传,html5提供了API,用户开始用的时候还行,然后就提了要求要求支持断点续传,
客户这边是一个政府单位,涉密了,就不透露单位名称了,每天主要就是上传和下载一些资料,数据都是加密的。
客户那边每天都会上传和下载资料,
视频教程:https://www.ixigua.com/7226245960341389859
1.下载示例
https://gitee.com/xproer/up6-vue-cli
将up6组件复制到项目中
示例中已经包含此目录
1.引入up6组件
2.配置接口地址
接口地址分别对应:文件初始化,文件数据上传,文件进度,文件上传完毕,文件删除,文件夹初始化,文件夹删除,文件列表
参考:http://www.ncmem.com/doc/view.aspx?id=e1f49f3e1d4742e19135e00bd41fa3de
3.处理事件
启动测试
启动成功
效果
数据库
源码工程文档:https://drive.weixin.qq.com/s?k=ACoAYgezAAw1dWofra
源码报价单:https://drive.weixin.qq.com/s?k=ACoAYgezAAwoiul8gl
OEM版报价单:https://drive.weixin.qq.com/s?k=ACoAYgezAAwuzp4W0a
控件源码下载:https://drive.weixin.qq.com/s?k=ACoAYgezAAwbdKCskc
授权码生成器:https://drive.weixin.qq.com/s?k=ACoAYgezAAwTIcFph1
*请认真填写需求信息,我们会在24小时内与您取得联系。