layui-form

layui-form

在这里插入图片描述

一、表单类型

1.单行排列

required:注册浏览器所规定的必填字段
lay-verify:注册form模块需要验证的类型
class="layui-input":layui.css提供的通用CSS类
<div class="layui-form-item">
			<label class="layui-form-label">姓名:</label>
			<div class="layui-input-block">
				<!--layui-input-block 块级元素  -->
				<input type="text" name="title" required lay-verify="required"
					placeholder="请输入标题" autocomplete="off" class="layui-input">
			</div>
		</div>

2.多行排列

<div class="layui-form-item">
			<label class="layui-form-label">密码框</label>
			<div class="layui-input-inline">
				<!--layui-input-inline行级元素  -->
				<input type="password" name="password" required
					lay-verify="required" placeholder="请输入密码" autocomplete="off"
					class="layui-input">
			</div>
			<label class="layui-form-label">密码框</label>
			<div class="layui-input-inline">
				<input type="password" name="password" required
					lay-verify="required" placeholder="请输入密码" autocomplete="off"
					class="layui-input">
			</div>
		</div>

3.下拉选择框

diabled用于选择内容的禁用
optgroup标签给select分组
selected="selected" 用于选中的默认选项
	<div class="layui-form-item">
			<div class="layui-inline">
				<label class="layui-form-label">选择框</label>
				<div class="layui-input-block">
					<select name="city" lay-verify="required">
						<option value=""></option>
						<option value="0" selected="selected">北京</option>
						<option value="1">上海</option>
						<option value="2">广州</option>
						<option value="3">深圳</option>
						<option value="4">杭州</option>
					</select>
				</div>
			</div>
		</div>

带模糊搜素的下拉框

<div class="layui-form-item">
			<div class="layui-inline">
				<label class="layui-form-label">选择框</label>
				<div class="layui-input-block">
					<select name="city" lay-verify="" lay-search>
						<option value="010">layer</option>
						<option value="021">form</option>
						<option value="0571" selected>layim</option> 
				</div>
			</div>
		</div>

4.单选框

<div class="layui-form-item">
			<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> <input
					type="radio" name="sex" value="禁" title="禁" disabled="disabled">
			</div>
		</div>

5.复选框

属性title可自定义文本(温馨提示:如果只想显示复选框,可以不用设置title)
属性checked可设定默认选中
属性lay-skin可设置复选框的风格
设置value="1"可自定义值,否则选中时返回的就是默认的on
	<!-- 复选框 -->
		<div class="layui-form-item">
			<label class="layui-form-label">复选框</label>
			<div class="layui-input-block">
				<input type="checkbox" name="like[write]" title="写作"> <input
					type="checkbox" name="like[read]" title="阅读" checked> <input
					type="checkbox" name="like[dai]" title="发呆">
			</div>
		</div>

6.文本域

	<div class="layui-form-item layui-form-text">
			<label class="layui-form-label">文本域</label>
			<div class="layui-input-inline">
				<textarea name="desc" placeholder="请输入内容" class="layui-textarea"></textarea>
			</div>
		</div>

7.编辑器

<div class="layui-form-item layui-form-text">
			<label class="layui-form-label">文本域</label>
			<div class="layui-input-block">
				<textarea name="desc" placeholder="请输入内容"
					class="layui-textarea layui-hide" id="LAY_demo_editor"></textarea>
			</div>
		</div>

在这里插入图片描述

		//创建编辑器
					var editIndex = layedit.build('LAY_demo_editor', {
						tool : [ 'strong' //加粗
						, 'italic' //斜体
						, 'underline' //下划线
						, 'del' //删除线

						, '|' //分割线

						, 'left' //左对齐
						, 'center' //居中对齐
						, 'right' //右对齐
						, 'link' //超链接
						, 'unlink' //清除链接
						, 'face' //表情
						, 'image' //插入图片
						, 'help' //帮助
						]

					})

在这里插入图片描述

二、表单的监听事件

1.监听提交事件
在这里插入图片描述

 form.on('submit(demo1)', function(data){
			console.log(data.elem) //被执行事件的元素DOM对象,一般为button对象
			console.log(data.form) //被执行提交的form对象,一般在存在form标签时才会返回
			console.log(data.field) //当前容器的全部表单字段,名值对形式:{name: value}
			return false; //阻止表单跳转。如果需要表单跳转,去掉这段即可。
			});

2.单选器的监听
在这里插入图片描述

   form.on('radio(radio)', function(data){
				      console.log(data.elem); //得到radio原始DOM对象
				      console.log(data.value); //被点击的radio的value值
				    });  

三、更新与渲染

更新下拉选择框的内容
在这里插入图片描述

form.render(); //更新全部
form.render('select'); //刷新select选择框渲染
 $('#btn1').click(function(){
		var gj=$('#ishere');
		alert(gj.html());
		gj.append('<option value="兰州">兰州</option>'); //追加HTML中的元素
		alert(gj.html());
		form.render('select'); //渲染以后进行更新
		})

四、表单数据初始化

在这里插入图片描述

    $('#btn2').click(function(){
				    	form.val('dataFrm', {  //绑定form表单
				    	name:"小明",
				    	password:"123456" //添加对应表单中name的名称以及要初始化的值
				    	})
				    });

五、表单数据的校验

 lay-verify="" 表示表单数据不能为空
 <input type="text" lay-verify="email"> 
还同时支持多条规则的验证,如下:
<input type="text" lay-verify="required|phone|number">

自定义验证方式
在这里插入图片描述

   form.verify({
     username: function(value, item){ //value:表单的值、item:表单的DOM对象
    if(!new RegExp("^[a-zA-Z0-9_\u4e00-\u9fa5\\s·]+$").test(value)){
      return '用户名不能有特殊字符';
    }
    if(/(^\_)|(\__)|(\_+$)/.test(value)){
      return '用户名首尾不能出现下划线\'_\'';
    }
    if(/^\d+\d+\d$/.test(value)){
      return '用户名不能全为数字';
    },
			pass: [
			/^[\S]{6,12}$/
			,'密码必须6到12位,且不能出现空格'
			 ] 
		})

好了,今天的分享就到这里了
在这里插入图片描述

  • 6
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 3
    评论
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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

code袁

你的支持是我莫大的幸运

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值