介绍html5新特性的一个属性:
contenteditable 作用域全局。所有的块标签都可以,例如:span、p、div、td等标签。
但是,不可以作用域<br/>类型的标签。

contenteditable属性的作用是,允许标签获取焦点是可以输入内容。
html5之前:
如果我们想创建一个表单,且表单的表格可以输入内容的情况。会选择一个js事件当点击td标签是动态生成一个input输入框显示在当前td标签区域上方,输入完成后将值赋给当前td中。然后input消失。
拥有html5之后,我们只要在td标签或所有区块标签加上contenteditable='true'的数据就可以实现输入操作了。是不是很方便。
一种场景:
我们可以利用html5的contenteditable属性配合table区实现动态表单生成的操作。只要将需要输入的td框赋值上contenteditable='true',标题框赋值contenteditable='false'或者不写就可以了。
或者提供一个空白的table,列和行可以自动添加的表单,这样用户想要什么样的表单,就自己去操作合适,我们保存模板就可以了。
可能遇到的问题:
后台如何保存数据,前台如何展示模板信息;用户需要有限制性输入内容如何处理,例如:性别内容只可以选择男和女或使用单选下拉框的情况如何处理;如果用户需要统计数据信息,如何处理数据库中的信息。这个是实现一个实用性,易用性动态表单都需要考虑。但这些也是都可以解决的。如果有需要做动态表单的小伙伴,就好好思考这些问题吧。希望本文章可以帮助到你。

这里只提供一个简单实例
实例源码:

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
<style type="text/css">
td{
line-height: 2em;
min-width: 200px;
border: 1px solid #d4d4d4;
padding: 5px;
padding-top: 7px;
padding-bottom: 7px;
vertical-align: top; }
</style>
</head>
<body>
<table cellspacing="0" style="border-collapse: collapse;">
<thead>
<tr><th colspan="4">个人信息</th></tr>
</thead>
<tbody><tr>
<td contenteditable="false" style="text-align: right;">姓名:</td><td contenteditable="true"></td>
<td contenteditable="false" style="text-align: right;">性别:</td><td contenteditable="true"></td></tr>
<tr>
<td contenteditable="false" style="text-align: right;">出生日期:</td><td contenteditable="true"></td>
<td contenteditable="false" style="text-align: right;">身份证号:</td><td contenteditable="true"></td></tr>
</tbody>
</table>
</body>
</html>

注意:

cellspacing="0"处理td之间的空隙;
style="border-collapse: collapse;"处理td边框重叠显示变粗。

我们看下效果:

html5新特性contenteditable 属性更容易实现动态表单的更多相关文章

  1. 前端进阶系列(三):HTML5新特性

    HTML5 是对 HTML 标准的第五次修订.其主要的目标是将互联网语义化,以便更好地被人类和机器阅读,并同时提供更好地支持各种媒体的嵌入.HTML5 的语法是向后兼容的.现在国内普遍说的 H5 是包 ...

  2. html5新特性

    这一篇博文不会告诉你怎么去使用html5的新特性,只会给你总结一下新特性------对于好学的人可以把这篇文章当做一个目录 对于初接触的人来说是一个导向 对于已经接触过的人来说是一个检测你掌握程度的检 ...

  3. web全栈架构师[笔记] — 03 html5新特性

    HTML5新特性 一.geolocation PC端 精度比较低 通过IP库定位 移动端 通过GPS window.navigator.geolocation 单次 getCurrentPositio ...

  4. HTML5新特性:范围样式

    原文出处:http://blog.csdn.net/hfahe/article/details/7381141        Chromium 最近实现了一个HTML5的新特性:范围样式,又叫做< ...

  5. 转: HTML5新特性之Mutation Observer

    转: HTML5新特性之Mutation Observer Mutation Observer是什么 Mutation Observer(变动观察器)是监视DOM变动的接口.当DOM对象树发生任何变动 ...

  6. HTML5新特性之CSS+HTML5实例

    1.新的DOCTYPE和字符集 HTML5的一项准则就是化繁为简,Web页面的DOCTYPE被极大的简化. <!DOCTYPE html> 同时字符集声明也被简化了: <meta c ...

  7. Microsoft Tech Summit 2018 课程简述:利用 Windows 新特性开发出更好的手绘视频应用

    概述 Microsoft Tech Summit 2018 微软技术暨生态大会将于10月24日至27日在上海世博中心举行,这也会是国内举办的最后一届 Tech Summit,2019 年开始会以 Mi ...

  8. html5新特性与用法大全了解一下

    有好多小伙伴私聊我问我html5新特性 和用法,下面我给大家具体介绍一下html5都新加了哪些新特性,下面我给大家总结一下. 1)新的语义标签 footer header 等等2)增强型表单 表单2. ...

  9. 第二季第八天 HTML5新特性

    在函数内部window.a =  a  在全局中就可以拿到这个变量 变量命名.作为函数的参数的时候要详细.调用的时候可以简单点 做全局变量的两个方案 1.绑在标签上data 2.闭包 视频一般都是二进 ...

随机推荐

  1. servlet文件下载2(单文件下载和批量下载)

    使用servlet完毕单文件下载和批量文件下载.批量下载的原理是先将文件打包成zip , 然后再下载. 之前也转载过一篇文件下载的博客,地址:http://blog.csdn.net/ch717828 ...

  2. Debian Epson L455 打印机

    要使用打印机必须要在本机(或局域网其他机器)上安装打印服务,L455是网络打印机,需要IPP协议,而mDNS-scan和avahi-utils是用来发现网络打印机的服务,由于我是摸索着安装的,没太研究 ...

  3. mysql 集合函数与where条件

    这里要查询的是去过的国家数(country)的次数ct大于2的人的名字 select name ,count(country) ct from sz03 where ct >2 group by ...

  4. 改进Spring中的分页技术

    Spring中有一个PagedListHolder,能够实现分页. 但此类有几个缺点: 1. 使用此类的代码比較繁琐 2. 此类存放的数据源是全部的记录集,即对于记录数为1000条的数据,即使我们仅仅 ...

  5. PHP资源,库,工具大全

    内容包括:库.框架.模板.安全.代码分析.日志.第三方库.配置工具.Web 工具.书籍.电子书.经典博文等等. 大家可以搜索其它语言,如awesome-java的https://github.com/ ...

  6. JSP 开发环境搭建

    JSP 开发环境搭建 JSP开发环境是您用来开发.测试和运行JSP程序的地方. 本节将会带您搭建JSP开发环境,具体包括以下几个步骤. 配置Java开发工具(JDK) 这一步涉及Java SDK的下载 ...

  7. 时下世界上最先进的液晶面板技术---ips

    IPS是英文In-Plane Switching的缩写,英文含义为平面转换屏幕技术,由日立公司于2001推出的液晶面板技术,俗称“Super TFT”,是目前世界上最先进的液晶面板技术,目前已经广泛使 ...

  8. 读取Excel中的数据到DataSet

    读取Excel中的数据到DataSet 1.引用命名空间 using System.Data.OleDb; 2.输入Excel文件,输出DataSet public DataSet ExecleDs( ...

  9. 五分钟上手Git

    团队开发中.遵循一个合理.清晰的Git使用流程.是非常重要的.否则,每一个人都提交一堆杂乱无章的commit,项目非常快就会变得难以协调和维护.以下是ThoughtBot 的Git使用规范流程.我从中 ...

  10. 在express项目中使用redis

    在express项目中使用redis 准备工作 安装redis 安装redis桌面管理工具:Redis Desktop Manager 项目中安装redis:npm install redis 开始使 ...