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 相关文章推荐
javascript实现可改变滚动方向的无缝滚动实例
Jun 17 Javascript
js判断选择的时间是否大于今天的代码
Aug 20 Javascript
javascript 循环调用示例介绍
Nov 20 Javascript
js实现背景图片感应鼠标变化的方法
Feb 28 Javascript
举例详解Python中smtplib模块处理电子邮件的使用
Jun 24 Javascript
JS实现自动固定顶部的悬浮菜单栏效果
Sep 16 Javascript
jQuery多条件筛选如何实现
Nov 04 Javascript
JavaScript手机振动API
Jun 11 Javascript
浅谈Javascript中的12种DOM节点类型
Aug 19 Javascript
微信小程序 页面跳转和数据传递实例详解
Jan 19 Javascript
js实现中文实时时钟
Jan 15 Javascript
Vue中点击active并第一个默认选中功能的实现
Feb 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中如何实现常用邮箱的基本判断
2014/01/07 PHP
PHP判断是否有Get参数的方法
2014/05/05 PHP
一波PHP中cURL库的常见用法代码示例
2016/05/06 PHP
PHP实现cookie跨域session共享的方法分析
2019/08/23 PHP
php设计模式之工厂方法模式分析【星际争霸游戏案例】
2020/01/23 PHP
详解PHP中的8个魔术常量
2020/07/06 PHP
多种方法实现JS动态添加事件
2013/11/01 Javascript
简单讲解AngularJS的Routing路由的定义与使用
2016/03/05 Javascript
基于jQuery实现Tabs选项卡自定义插件
2016/11/21 Javascript
JS原型与原型链的深入理解
2017/02/15 Javascript
老生常谈js中0到底是 true 还是 false
2017/03/08 Javascript
360doc网站不登录就无法复制内容的解决方法
2018/01/27 Javascript
vue观察模式浅析
2018/09/25 Javascript
微信小程序使用蓝牙小插件
2019/09/23 Javascript
vue页面切换项目实现转场动画的方法
2019/11/12 Javascript
使用Taro实现小程序商城的购物车功能模块的实例代码
2020/06/05 Javascript
微信小程序拖拽排序列表的示例代码
2020/07/08 Javascript
Python实现在Linux系统下更改当前进程运行用户
2015/02/04 Python
用Python3创建httpServer的简单方法
2018/06/04 Python
python使用参数对嵌套字典进行取值的方法
2019/04/26 Python
Python关于拓扑排序知识点讲解
2021/01/04 Python
纯css3(无图片/js)制作的几个社交媒体网站的图标
2013/03/21 HTML / CSS
New Balance天猫官方旗舰店:始于1906年,百年慢跑品牌
2017/11/15 全球购物
精致的手工皮鞋:Shoe Embassy
2019/11/08 全球购物
金讯Java笔试题目
2013/06/18 面试题
如何用JQuery进行表单验证
2013/05/29 面试题
学生会招新策划书
2014/02/14 职场文书
合作协议书范本
2014/04/17 职场文书
实习护士自荐信
2014/06/21 职场文书
2013年最新自荐信范文
2014/06/23 职场文书
师范学院毕业生求职信
2014/06/24 职场文书
2015年护士节活动总结
2015/02/10 职场文书
费城故事观后感
2015/06/10 职场文书
2016新春团拜会致辞
2015/08/01 职场文书
你为什么是穷人?可能是这5个缺点造成
2019/07/11 职场文书
Golang jwt身份认证
2022/04/20 Golang