BootStrap智能表单实战系列(四)表单布局介绍


Posted in Javascript onJune 13, 2016

什么是 Bootstrap?

Bootstrap 是一个用于快速开发 Web 应用程序和网站的前端框架。Bootstrap 是基于 HTML、CSS、JAVASCRIPT 的。

表单的布局分为自动布局和自定义布局两种:

自动布局就是根据配置项中第二级配置项中数组的长度来自动使用不同的bootstrap栅格,通过设置autoLayout为true可以实现自动布局

自动以布局就是根据autoLayout来决定使用的栅格,通过设置autoLayout:'1,2,1,2,2,4' 表示 第一、二列占3格,第三列占6格子

自动布局代码如下所示(https://github.com/xiexingen/Bootstrap-SmartForm/blob/master/demo/form2-auto-layout.html):

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>自动布局</title>
<link rel="stylesheet" href="../css/bootstrap.css">
<script src="../lib/jquery.js"></script>
<script src="../lib/bootstrap.js"></script>
<!--工具方法-->
<script src="../scripts/global.js"></script>
<!--插件-->
<script src="../scripts/plugin.js"></script>
</head>
<body>
<div class="panel panel-default">
<div class="panel-heading"><label>自动布局</label></div>
<div class="panel-body">
<form action="#" id="formContainer" class="form form-horizontal"></form>
</div>
</div>
<div class="panel panel-default">
<div class="panel-heading"><label>介绍</label></div>
<div class="panel-body">
<h3>所谓的自动布局为:根据单个配置组的个数来自动使用不同的栅格,如:数组里面项数位2,则使用2,4,2,4布局</h3>
<p>依赖于bootstrap个栅格样式,仅支持12整分的格式,如果你配置5项,是不支持的</p>
</div>
</div>
<script>
$(function () {
var eles=[
[
{ele:{type:'text',name:'UserName',title:'用户名:',required:true}},
{ele:{type:'radio',name:'sex',title:'性别:',items:[{text:'男',value:1},{text:'女',value:2}]}},
],
[
{ele:{type:'checkbox', name:'plant',title:'使用平台:',items:[{text:'APP',value:'app'},{text:'web',value:'web'}]}},
{ele:{type:'select',name:'province',title:'省份:',withNull:true,items:[{text:'广东',value:'GD'},{text:'湖南',value:'HN'}]}}
],
[
{ele:{type:'text',name:'DisplayName',title:'显示名称:'}},
{ele:{type:'datetime',name:'FromeDate',title:'有效期:'}},
{ele:{type:'datetime',name:'ToDate',title:'~'}}
]
];
//隐藏表单元素主要用于编辑时候后台可以区别开来
var hides = [{ id: 'GUID' }];
var bsForm = new BSForm({ eles: eles, hides: hides, autoLayout:true }).Render('formContainer');
});
</script>
</body>
</html>

运行效果图:

BootStrap智能表单实战系列(四)表单布局介绍

可以看到我配置文件中第一、2项配了2列,第三项配置了3列,所以生成的div.form-group 第一项和第二项使用:2,4 第三项使用:1,3 从界面来看ui显示好不友好,所以autoLayout:true一般用于特殊场景及每一项都是相等的情况下使用。

自定义布局代码(https://github.com/xiexingen/Bootstrap-SmartForm/blob/master/demo/form2-fix-layout.html):

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>自定义布局</title>
<link rel="stylesheet" href="../css/bootstrap.css">
<!--自定义站点样式-->
<link rel="stylesheet" href="../css/site.css">
<script src="../lib/jquery.js"></script>
<script src="../lib/bootstrap.js"></script>
<!--工具方法-->
<script src="../scripts/global.js"></script>
<!--插件-->
<script src="../scripts/plugin.js"></script>
</head>
<body>
<div class="panel panel-default">
<div class="panel-heading"><label>自定义布局</label></div>
<div class="panel-body">
<form action="#" id="formContainer" class="form form-horizontal"></form>
</div>
</div>
<div class="panel panel-default">
<div class="panel-heading"><label>介绍</label></div>
<div class="panel-body">
<h3>固定布局,即根据配置的布局来布局</h3>
<p>如果你配置的autoLayout:1,2 将使用1,2栅格来显示</p>
<p>如果你配置的autoLayout:1,2,2,4 第一个元素将使用1,2来布局,第二个将使用2,4来布局 如果没有2,4系统将会自动寻找1,2</p>
</div>
</div>
<script>
$(function () {
var eles=[
[
{ele:{type:'text',name:'UserName',title:'用户名:',required:true}},
{ele:{type:'radio',name:'sex',title:'性别:',items:[{text:'男',value:1},{text:'女',value:2}]}},
{ele:{type:'checkbox', name:'plant',title:'使用平台:',items:[{text:'APP',value:'app'},{text:'web',value:'web'}]}},
{ele:{type:'select',name:'province',title:'省份:',withNull:true,items:[{text:'广东',value:'GD'},{text:'湖南',value:'HN'}]}} 
],
[
{ele:{type:'text',name:'DisplayName',title:'显示名称:'}},
{ele:{type:'datetime',name:'FromeDate',title:'有效期:'}},
{ele:{type:'datetime',name:'ToDate',title:'~'}}
]
];
//隐藏表单元素主要用于编辑时候后台可以区别开来
var hides = [{ id: 'GUID' }];
var bsForm = new BSForm({ eles: eles, hides: hides, autoLayout: '1,2,1,2' }).Render('formContainer');
});
</script>
</body></html>

效果图如下:

BootStrap智能表单实战系列(四)表单布局介绍

note:如果页面有4列,但是配置的autoLayout不足的情况后面的部分将会使用前面的布局,即将第一列作为缺省的配置列.

以上所述是小编给大家介绍的BootStrap智能表单实战系列(四)表单布局介绍的全部叙述,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对三水点靠木网站的支持!

Javascript 相关文章推荐
ASP.NET jQuery 实例2 (表单中使用回车在TextBox之间向下移动)
Jan 13 Javascript
cookie的复制与使用记住用户名实现代码
Nov 04 Javascript
javascript比较两个日期的先后示例代码
Dec 31 Javascript
JavaScript设计模式开发中组合模式的使用教程
May 18 Javascript
jquery获取点击控件的绝对位置简单实例
Oct 13 Javascript
JS实现“隐藏与显示”功能(多种方法)
Nov 24 Javascript
微信小程序中子页面向父页面传值实例详解
Mar 20 Javascript
JavaScript实现的仿新浪微博原生态输入字数即时检查功能【兼容IE6】
Sep 26 Javascript
浅谈Node Inspector 代理实现
Oct 19 Javascript
微信小程序使用map组件实现解析经纬度功能示例
Jan 22 Javascript
使用webpack/gulp构建TypeScript项目的方法示例
Dec 18 Javascript
解决VUE自定义拖拽指令时 onmouseup 与 click事件冲突问题
Jul 24 Javascript
JS/jQ实现免费获取手机验证码倒计时效果
Jun 13 #Javascript
BootStrap智能表单实战系列(三)分块表单配置详解
Jun 13 #Javascript
BootStrap 智能表单实战系列(二)BootStrap支持的类型简介
Jun 13 #Javascript
BootStrap智能表单demo示例详解
Jun 13 #Javascript
Bootstrap布局之栅格系统详解
Jun 13 #Javascript
Bootstrap页面布局基础知识全面解析
Jun 13 #Javascript
jquery制做精致的倒计时特效
Jun 13 #Javascript
You might like
深入PHP数据加密详解
2013/06/18 PHP
thinkphp文件引用与分支结构用法实例
2014/11/26 PHP
PIGCMS 如何关闭聊天机器人
2015/02/12 PHP
PHP滚动日志的代码实现
2015/06/10 PHP
使用symfony命令创建项目的方法
2016/03/17 PHP
PDO::beginTransaction讲解
2019/01/27 PHP
php中文语义分析实现方法示例
2019/09/28 PHP
google jQuery 引用文件,jQuery 引用地址集合(jquery 1.2.6至jquery1.5.2)
2011/04/24 Javascript
使用Post提交时须将空格转换成加号的解释
2013/01/14 Javascript
jQuery获取Select选择的Text和Value(详细汇总)
2013/01/25 Javascript
Jquery获取元素的父容器对象示例代码
2014/02/10 Javascript
iScroll中事件点击触发两次解决方案
2015/03/11 Javascript
jQuery常用知识点总结以及平时封装常用函数
2016/02/23 Javascript
jquery实现超简单的瀑布流布局【推荐】
2017/03/08 Javascript
4个顶级JavaScript高级文本编辑器
2018/10/10 Javascript
js实现移动端轮播图滑动切换
2020/12/21 Javascript
比较详细Python正则表达式操作指南(re使用)
2008/09/06 Python
在Python的Tornado框架中实现简单的在线代理的教程
2015/05/02 Python
python基础教程之五种数据类型详解
2017/01/12 Python
Python简单生成8位随机密码的方法
2017/05/24 Python
好的Python培训机构应该具备哪些条件
2018/05/23 Python
Python用Try语句捕获异常的实例方法
2019/06/26 Python
python pytest进阶之fixture详解
2019/06/27 Python
Win下PyInstaller 安装和使用教程
2019/12/25 Python
python实现门限回归方式
2020/02/29 Python
Python request中文乱码问题解决方案
2020/09/17 Python
详解Open Folder as PyCharm Project怎么添加的方法
2020/12/29 Python
简洁自适应404页面HTML好看的404源码
2020/12/16 HTML / CSS
Giglio英国站:意大利奢侈品购物网
2018/03/06 全球购物
JVM是一个编译程序还是解释程序
2012/09/11 面试题
白酒市场营销方案
2014/02/25 职场文书
植树节标语
2014/06/27 职场文书
贷款担保书
2015/01/20 职场文书
Python基础之操作MySQL数据库
2021/05/06 Python
python利用while求100内的整数和方式
2021/11/07 Python
Windows 64位 安装 mysql 8.0.28 图文教程
2022/04/19 MySQL