form 是我们非常看重的一块。layui中的form实现全自动的初始渲染,和基于事件驱动的接口书写方式。我整理了layui中form的配置。下边直接给一个栗子,后台采用.net MVC,除了razor模板中用到了一点后台的内容,其他都是layui中的内容,这里就不粘后台代码了:

HTML文本

<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>layui.form小例子</title>
<script src="~/Content/layui/layui.js"></script>
<link href="~/Content/layui/css/layui.css" rel="stylesheet" />
</head>
<body>
<form class="layui-form" action="/Home/AddUserInfo" method="get" lay-filter="formfilter">
<!-- 提示:如果你不想用form,你可以换成div等任何一个普通元素 -->
<div class="layui-form-item">
<label class="layui-form-label">用户名</label>
<div class="layui-input-block">
<input type="text" name="Name" placeholder="请输入" autocomplete="off" class="layui-input">
</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label">下拉选择框</label>
<div class="layui-input-block">
<select name="Role" lay-filter="selectfilter">
@foreach (var item in ViewBag.RoleList)
{
<option value="@item.Id">@item.RoleName</option>
}
</select>
</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label">爱好</label>
<div class="layui-input-block">
<input value="1" type="checkbox" name="LikeWrite" title="写作">
<input value="2" type="checkbox" name="LikeRead" title="阅读">
</div>
</div> <div class="layui-form-item">
<label class="layui-form-label">性别</label>
<div class="layui-input-block">
<input type="radio" name="Gender" value="0" title="男">
<input type="radio" name="Gender" value="1" title="女">
</div>
</div>
<div class="layui-form-item layui-form-text">
<label class="layui-form-label">请填写描述</label>
<div class="layui-input-block">
<textarea name="Descirpt" id="Descirpt" 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="gofilter">立即提交</button>
<button type="reset" class="layui-btn layui-btn-primary">重置</button>
</div>
</div>
</form>

JS脚本

    <script>
layui.use(['form', 'jquery', 'layer'], function () {
var form = layui.form;
var $ = layui.$;
var layer = layui.layer;
//可局部刷新的元素 select,radio,checkbox
form.render(); //刷新全部
form.render('select'); //刷新select选择框
form.render('select', 'selectfilter');//刷新layfilter为selectfilter1的select //**********************************预设元素属性
lay-skin //只对checkbox有效 ,可选switch,primary
lay-filter //事件过滤器,用于匹配事件的准确性。不仅仅用于form
lay-verify //规则验证
lay-verType //不符合规则时显示风格,可选tips,alert,msg(默认)
lay-submit //绑定触发提交的元素 //*************************************事件监控
//监听的元素有select(选中) ,checkbox(勾选),swich(开关),radio(选择),submit(提交)
form.on('select(selectfilter)', function (data) {
console.log(data.elem); //原生Dom
console.log(data.value); //选中的option的value
console.log(data.othis); //美化后Dom
}) form.on('radio', function (data) {
console.log(data.elem); //原生Dom
console.log(data.value); //选中的radio的value
console.log(data.othis); //美化后Dom
}) //checkbox和switch是一样的
form.on('checkbox', function (data) {
console.log(data.elem); //原生Dom
console.log(data.elem.checked); //点击后的状态true,false console.log(data.othis); //美化后的Dom
}) //submit
form.on('submit(gofilter)', function (data) {
console.log(data.field)
$.post('/Home/AddUserInfo', data.field, function (result) {
if (result.IsSuccess === 1) {
alert(result.Msg);
} else {
alert(result.Msg);
}
})
return false;//这里是拦截layui自带的提交
}) //*********************************表单验证
//required(必填项)phone(手机号)email(邮箱)url(网址)number(数字)date(日期)identity(身份证)
//也可以自定义,一个简单用户名密码的栗子:
form.verify({
validateUserName: [
/^[\S]{2,10}$/
, '用户名必须2到10位'
],
validateUserPass: [
/^[\S]{3,20}$/
, '密码必须为3到20位'
],
validateConfPass: function (value) {
var pass = $('#userPass').val();
if (value != pass) {
return '两次密码不一致';
}
},
}); //**********************************赋初值,当我们修改或者展示详情时可用
form.val("formfilter", {
"Name": "haha" // "name": "value"
, "Gender": 0 //对应radio的value值,
, "Role": 3 //对应select下option的value值
, "LikeRead": true //对应checkbox
, "Descirpt": "这里是用户描述哦" //放在textarea中
})
console.log($('#Descirpt').val() + "xxx") //获取textarea值的方式
});
</script>
</body>
</html>

:这是为了个人查找方便整理的文档,并没有总结完全,查看更多可访问官网http://www.layui.com/doc

layui(五)——form组件常见用法总结的更多相关文章

  1. layui(七)——rate组件常见用法总结

    layui中提供了rate组件,用法很简单,直接上代码. <div id="test1"></div> <script> layui.use(' ...

  2. layui(二)——layer组件常见用法总结

    layer是layui的代表作,功能十分强大,为方便以后快速配置这里对其常见用法做了简单总结 一.常用调用方式 //1.普通消息:alert(content,[options],[yesCallBac ...

  3. layui(四)——table组件常见用法总结

    table是 layui 最核心的组成之一.它用于对表格进行一些列功能和动态化数据操作,涵盖了日常业务所涉及的几乎全部需求.支持固定表头.固定行.固定列左/列右,支持拖拽改变列宽度,支持排序,支持多级 ...

  4. layui(三)——laypage组件常见用法总结

    laypage 的使用非常简单,指向一个用于存放分页的容器,通过服务端得到一些初始值,即可完成分页渲染.核心方法: laypage.render(options)  来设置基础参数. 一.laypag ...

  5. layui(六)——upload组件常见用法总结

    layui中提供了非常简单的文件上传组件,这里写了一个上传图片的栗子,上传成功后返回图片在服务器的路径,并设置为页面中img的src属性.因为上传十分简单,没什么可说的,就直接上代码了. html代码 ...

  6. layui(九)——flow组件常见用法总结

    该模块包含 信息流加载 和  图片懒加载  两大核心支持,无论是对服务端.还是前端体验,都有非常大的性能帮助.下边分别给出了这两种技术的使用方法 一.信息流加载 信息流加载的核心方法时  flow.l ...

  7. django框架中的form组件的用法

    form组件的使用 先导入: from django.forms import Form from django.forms import fields from django.forms impor ...

  8. Python - Django - form 组件基本用法

    普通 form 表单的处理: reg.html: <!DOCTYPE html> <html lang="en"> <head> <met ...

  9. layui(一)——layDate组件常见用法

    和 layer 一样,我们可以在 layui 中使用 layDate,也可直接使用 layDate 独立版,可按照实际需求来选择.options整理如下: layui.use('laydate', f ...

随机推荐

  1. Ruby基本语法规则

    1.Ruby常用数据类型 Numbers, Strings, Booleans my_num = 25 my_boollean = true (or false) my_string = " ...

  2. 生成跨语言的类型声明和接口绑定的工具(Djinni )

    Djinni 是一个用来生成跨语言的类型声明和接口绑定的工具,主要用于 C++ 和 Java 以及 Objective-C 间的互通. 示例接口定义文件: # Multi-line comments ...

  3. 0502-其他html标签

    其他html标签 一.框架 1.<frameset><frame/><frameset> 注意:html文档中不能有<body></body> ...

  4. loongson 2f 和u-boot中的cache命令对照

    00000 Index Invalidate INDEX_INVALIDATE_I (I) 00001 Index WriteBack Invalidate INDEX_WRITEBACK_INV_D ...

  5. vue--子组件主动获取父组件的数据和方法

    子组件主动获取父组件的数据和方法 简单示例: this.$parent.数组 this.$parent.方法 示例: <template> <div id="Header& ...

  6. 使用SLF4J和LOGBACK (一 : 基本使用)

    1.SLF4J是什么? slf4j是一个日志门面,它不是具体的日志实现框架,而是提供了通用的日志接口,按个人理解来说,是通过接口实现多态,来满足应用在不同日志框架间切换的需求. 例如在程序中我们需要记 ...

  7. 009---linux进程管理

    进程管理 top 查看运行状态:top 查看cpu核心数:top and 1 查看cpu占用率最大:top and P free 查看内存状态:free 以M为单位:free -m 以G为单位:fre ...

  8. Redis-sentinel哨兵模式集群方案配置

    一.sentinel介绍 Redis Sentinel Sentinel(哨兵)是用于监控redis集群中Master状态的工具,其已经被集成在redis2.4+的版本中 Sentinel作用: 1) ...

  9. 转:Spring AOP详解

    转:Spring AOP详解 一.前言 在以前的项目中,很少去关注spring aop的具体实现与理论,只是简单了解了一下什么是aop具体怎么用,看到了一篇博文写得还不错,就转载来学习一下,博文地址: ...

  10. CuteEditor.Editor+a+a+c+a+a.a() System.RuntimeType.get_Assembly() 问题解决方法

    问题: Server Error in '/' Application. Attempt by method 'CuteEditor.Editor+a+a+c+a+a.a()' to access m ...