Layui之表单form

代码以及效果图

<%@ page language="java" contentType="text/html; charset=UTF-8"
	pageEncoding="UTF-8"%>
<%@ include file="/common/common.jsp"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Insert title here</title>
<script type="text/javascript" src="${ctp }/script/jquery.min.js"></script>
<link rel="stylesheet" type="text/css" href="${ctp }/script/layui/css/layui.css">
<script type="text/javascript" src="${ctp }/script/layui/layui.js"></script>
<script type="text/javascript">
	$(function() {
 
		layui.use('form', function() {
			var form = layui.form;
 
			//监听提交
			form.on('submit(formDemo)', function(data) {
				//layer.msg(JSON.stringify(data.field));
				//return false;
			});
		});
	});
</script>
</head>
<body>
	<h3 align="center">Layui表单</h3>
	<br />
	<br />
	<form action="" class="layui-form layui-form-pane">
	
		<!-- 普通文本输入框 -->
		<div class="layui-form-item">
			<label class="layui-form-label">Name</label>
			<div class="layui-input-block">
				<input type="text" name="name" placeholder="请输入姓名"
					autocomplete="off" required lay-verify="required"
					class="layui-input">
			</div>
		</div>
 
		<!-- 密码输入框 -->
		<div class="layui-form-item">
			<label class="layui-form-label">Password</label>
			<div class="layui-input-inline">
				<input type="password" name="password" placeholder="请输入密码"
					autocomplete="off" required lay-verify="required"
					class="layui-input">
			</div>
			<div class="layui-form-mid">辅助文字</div>
		</div>
 
		<!-- 下拉列表 -->
		<div class="layui-form-item">
			<label class="layui-form-label">城市</label>
			<div class="layui-input-block">
				<select name="city" lay-verify="required">
				  <option value="">请选择一个城市</option>
				  <option value="010">北京</option>
				  <option value="021" disabled>上海</option>
				  <option value="0571">杭州</option>
				</select> 
			</div>
		</div>
 
		<!-- 多选框默认风格 -->
		<div class="layui-form-item" pane>
			<label class="layui-form-label">Sport</label>
			<div class="layui-input-block">
				<input type="checkbox" name="sport" value="bb" title="Basketball"> 
				<input type="checkbox" name="sport" value="pp" title="PingPang">
			</div>
		</div>
		
		<!-- 多选框原始风格 -->
		<div class="layui-form-item" pane>
			<label class="layui-form-label">兴趣</label>
			<div class="layui-input-block">
				<input type="checkbox" name="hobby" value="tyy" title="听音乐" lay-skin="primary" checked>
				<input type="checkbox" name="hobby" value="fd" title="发呆" lay-skin="primary"> 
				<input type="checkbox" name="hobby" value="kdy" title="看电影(禁用效果)" lay-skin="primary" disabled> 
			</div>
		</div>
 
		<!-- 开关 -->
		<div class="layui-form-item" pane>
			<label class="layui-form-label">是否同意协议?</label>
			<div class="layui-input-block">
				<input type="checkbox" name="agree" value="1" lay-skin="switch" lay-text="是|否" checked>
			</div>
		</div>
 
		<!-- 单选按钮 -->
		<div class="layui-form-item" pane>
			<label class="layui-form-label">Sex</label>
			<div class="layui-input-block">
				<input type="radio" name="sex" value="1" title="男" checked>
				<input type="radio" name="sex" value="0" title="女">
			</div>
		</div>
 
		<!-- 文本域 -->
		<div class="layui-form-item layui-form-text">
			<label class="layui-form-label">个人简介</label>
			<div class="layui-input-block">
				<textarea name="abstract" placeholder="请输入内容" class="layui-textarea"></textarea>
			</div>
		</div>
		
		<div class="layui-form-item">
			<div class="layui-input-block">
				<button class="layui-btn" lay-submit lay-filter="formDemo">立即提交</button>
				<button type="reset" class="layui-btn layui-btn-primary">重置</button>
			</div>
		</div>
	</form>
</body>
</html>

在这里插入图片描述

  1. 使用Layui细节

① form标签必须给class=“layui-form”

② text、password、select、checkbox、radio、textarea必须放在如下结构中,针对textarea,最外层的div的 class=“layui-form-item layui-form-text”

<div class="layui-form-item">
    <label class="layui-form-label">标签名</label>
    <!-- 针对text,下面的class属性值也可以是layui-input-inline,可以缩短文本框 -->
    <div class="layui-input-block">
        原始的input
    </div>
</div>

③ 必须加载form模块,否则select、checkbox、radio等将无法显示,并且无法使用form相关功能)

//加载form模块
layui.use('form', function() {
	var form = layui.form;
});

④ 提交和重置按钮如下格式

<div class="layui-form-item">
	<div class="layui-input-block">
		<button class="layui-btn" lay-submit lay-filter="formDemo">立即提交</button>
		<button type="reset" class="layui-btn layui-btn-primary">重置</button>
	</div>
</div>

提交按钮的lay-filter的属性值类似于id,可以通过如下方法监听提交按钮时候被点击

form.on('submit(formDemo)', function(data) {
	layer.msg(JSON.stringify(data.field));
	return false;
});
  1. 参数详解
    ① 针对text:
    required:注册浏览器所规定的必填字段
    lay-verify:注册form模块需要验证的类型
    class=“layui-input”:layui.css提供的通用CSS类
    ② 针对checkbox变种开关:

其实就是checkbox复选框的“变种”,通过设定 lay-skin=“switch” 形成了开关风格
lay-skin:可设置复选框的风格,值为primary为原始风格
lay-text: 可自定义开关两种状态的文本。lay-text=“是|否”
checked : 设置默认为开
③ 表单lable放到方框中,通过在表单form的class属性值中追加layui-form-pane即可,但是要注意,复选框/开关/单选框 这些组合在该风格下需要额外添加 pane属性(否则会看起来比较别扭)。

<form class="layui-form layui-form-pane" action="">
  <div class="layui-form-item" pane>
  <label class="layui-form-label">性别</label>
  	<div class="layui-input-block">
  		<input type="radio" name="sex" value="男" title="男">
  		<input type="radio" name="sex" value="女" title="女" checked>
  	</div>
  </div>
</form>

转载自:本篇文章

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
form元素包括:text 文本输入框,password密码输入框,checkbox复选框,radio选框,file 文件域,submit提交action指向的文件,reset清空,image图片提交按钮,button按钮,hidden隐藏域。 select option select 实现下拉选 callback 是回调函数 layui.模块   模块可以是layui已经存在的模块,也可以通过layui.define([mods], callback) 来自己自定义模块。 如果想要使用模块首先要做的必然是加载模块,layui.use(['laypage', 'layedit'], function(){}); 接下来使用layui风格控件  其实感觉layui帮我们定义好了CSS和许多JS文本,我们需要做的只是按照layui的命名规范选好样式进而使用就可以了。  layu官方文档的命名规范为: CSS命名规范 class命名前缀:layui,连接符:-,如:class="layui-form" 命名格式一般分为两种: 一:layui-模块名-状态或类型 二:layui-状态或类型 因为有些类并非是某个模块所特有,他们通常会是一些公共类。如: 一(定义按钮的原始风格):class="layui-btnlayui-btn-primary" 二(定义内联块状元素):class="layui-inline" 1 2 3 4 5 6 7 8 9 当然还有前面提到的使用模块的js代码: layui.use(['form', 'layedit', 'laydate'], function(){   var form = layui.form   ,layer = layui.layer   ,layedit = layui.layedit   ,laydate = layui.laydate;   //日期   laydate.render({     elem: '#date'   });   laydate.render({     elem: '#date1'   });   //创建一个编辑器   var editIndex = layedit.build('LAY_demo_editor');   //自定义验证规则   form.verify({     title: function(value){       if(value.length < 5){         return '标题至少得5个字符啊';       }     }     ,pass: [/(.+){6,12}$/, '密码必须6到12位']     ,content: function(value){       layedit.sync(editIndex);     }   });   //监听指定开关   form.on('switch(switchTest)', function(data){     layer.msg('开关checked:'+ (this.checked ? 'true' : 'false'), {       offset: '6px'     });     layer.tips('温馨提示:请注意开关状态的文字可以随意定义,而不仅仅是ON|OFF', data.othis)   });   //监听提交   form.on('submit(demo1)', function(data){     layer.alert(JSON.stringify(data.field), {       title: '最终的提交信息'     })     return false;   }); }); 下面我们按照官方文档的开发规范使用一下form的例子       集合演示           行输入框                       验证必填项                             验证手机                                   验证邮箱                                       多规则验证                                   验证日期                                   验证链接                                 验证身份证                       自定义验证                   请填写6到12位密码               范围                           -                                 行选择框                   </opt

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值