重点在于把open的提交按钮变为与form表单内的提交按钮样式一样
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>Layui</title>
<meta name="renderer" content="webkit">
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1">
<link rel="stylesheet" href="layui/css/layui.css" media="all">
<!-- 注意:如果你直接复制所有代码到本地,上述css路径需要改成你本地的 -->
</head>
<body>
<form id="form" class="layui-form" action="" lay-filter="example" style="display: none;">
<div class="layui-form-item">
<label class="layui-form-label">姓名</label>
<div class="layui-inline">
<input type="text" name="name" lay-verify="name" autocomplete="off" placeholder="请输入姓名" class="layui-input">
</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label">账户</label>
<div class="layui-inline">
<input type="text" name="username" lay-verify="username" autocomplete="off" placeholder="请输入姓名" class="layui-input">
</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label">密码</label>
<div class="layui-inline">
<input type="text" name="password" lay-verify="password" placeholder="请输入密码" autocomplete="off" class="layui-input">
</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label">性别</label>
<div class="layui-inline">
<input type="radio" name="sex" value="1" title="男" checked="">
<div class="layui-unselect layui-form-radio layui-form-radioed"><i class="layui-anim layui-icon"></i>
</div>
<input type="radio" name="sex" value="0" title="女">
<div class="layui-unselect layui-form-radio"><i class="layui-anim layui-icon"></i>
</div>
</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label">出生日期</label>
<div class="layui-input-inline">
<input type="text" name="birthday" readonly="readonly" id="birthday" lay-verify="date" placeholder="yyyy-MM-dd" autocomplete="off"
class="layui-input">
</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label">创建时间</label>
<div class="layui-input-inline">
<input type="text" name="createTime" readonly="readonly" id="createTime" lay-verify="date" placeholder="yyyy-MM-dd" autocomplete="off"
class="layui-input">
</div>
</div>
<!-- <div class="layui-form-item">
<div class="layui-input-block">
<button type="submit" class="layui-btn " lay-submit="" lay-filter="demo1">立即提交</button>
</div>
</div> -->
</form>
<table class="layui-hide" id="test" lay-filter="test"></table>
<script type="text/html" id="toolbarDemo">
<div class="layui-btn-container">
<button class="layui-btn layui-btn-sm" lay-event="getCheckData">获取选中行数据</button>
<button class="layui-btn layui-btn-sm" lay-event="getCheckLength">获取选中数目</button>
<button class="layui-btn layui-btn-sm" lay-event="isAll">验证是否全选</button>
</div>
</script>
<script type="text/html" id="barDemo">
<a class="layui-btn layui-btn-xs" lay-event="edit">编辑</a>
<a class="layui-btn layui-btn-danger layui-btn-xs" lay-event="del">删除</a>
</script>
<script src="layui/layui.js" charset="utf-8"></script>
<!-- 注意:如果你直接复制所有代码到本地,上述js路径需要改成你本地的 -->
<script>
layui.use(['table', 'layer', 'jquery', 'laydate', 'form'], function() {
var table = layui.table;
var layer = layui.layer;
var $ = layui.jquery;
var laydate = layui.laydate;
var form = layui.form;
//日期
laydate.render({
elem: '#birthday'
});
laydate.render({
elem: '#createTime'
});
//温馨提示:默认由前端自动合计当前行数据。从 layui 2.5.6 开始: 若接口直接返回了合计行数据,则优先读取接口合计行数据。
//详见:https://www.layui.com/doc/modules/table.html#totalRow
table.render({
elem: '#test',
url: 'data.json',
toolbar: '#toolbarDemo',
title: '用户数据表',
totalRow: true,
cols: [
[{
type: 'checkbox',
fixed: 'left'
}, {
field: 'id',
title: 'ID',
fixed: 'left',
unresize: true,
sort: true,
totalRowText: '合计'
}, {
field: 'name',
title: '用户名',
edit: 'text'
}, {
field: 'username',
title: '账户',
edit: 'text'
}, {
field: 'password',
title: '密码',
sort: true
}, {
field: 'sex',
title: '性别',
width: 80,
edit: 'text',
sort: true,
templet: function(d) {
return d.sex == 1 ? "男" : "女"
}
}, {
field: 'age',
title: '年龄',
sort: true,
totalRow: true
}, {
field: 'birthday',
title: '生日',
}, {
field: 'createTime',
title: '创建时间',
}, {
fixed: 'right',
title: '操作',
toolbar: '#barDemo',
}]
],
page: true
});
//工具栏事件
table.on('toolbar(test)', function(obj) {
var checkStatus = table.checkStatus(obj.config.id);
switch (obj.event) {
case 'getCheckData':
var data = checkStatus.data;
layer.alert(JSON.stringify(data));
break;
case 'getCheckLength':
var data = checkStatus.data;
layer.msg('选中了:' + data.length + ' 个');
break;
case 'isAll':
layer.msg(checkStatus.isAll ? '全选' : '未全选')
break;
};
});
//监听行工具事件
table.on('tool(test)', function(obj) {
var data = obj.data;
//console.log(obj)
if (obj.event === 'del') {
layer.confirm('真的删除行么', function(index) {
obj.del();
layer.close(index);
});
} else if (obj.event === 'edit') {
layer.open({
title: "用户信息编辑",
type: 1,
content: $("#form"),
area: ['400px', '450px'],
btn: ["提交", "取消"],
success: function(layeror, index) {
indexaa = index;
form.val("example", { //formTest 即 class="layui-form" 所在元素属性 lay-filter="" 对应的值
name: data.name, // "name": "value"
username: data.username,
password: data.password,
sex: data.sex,
age: data.age,
birthday: data.birthday,
createTime: data.createTime
});
//添加样式,与要提交的form表单的样式一样。
layeror.addClass("layui-form")
//添加lay-submit属性才能对提交事件进行处理
layeror.find(".layui-layer-btn0").attr("lay-filter", "demo1").attr("lay-submit", "");
},
yes: function(index, layeror) {
//对那个按钮进行提交
form.on("submit(demo1)", function(data) {
obj.update({
name: data.field.name,
username: data.field.username,
password: data.field.password,
sex: data.field.sex,
age: data.field.age,
birthday: data.field.birthday,
creatTime: data.field.creatTime
})
layer.close(indexaa);
return false;
})
}
})
}
});
});
</script>
</body>
</html>