帮我做一个html网页,要求如下: 1.使用layui前端框架做一个选项卡,选项卡要可以切换 2.每个选项卡里面包含表单样式和提交按钮,表单使用js动态加载,当切换到当前选项的时候就加载表单 3.页面要适配PC和移动端,页面最大宽度要适配移动端
时间: 2024-03-11 20:43:41 浏览: 67
好的,我可以帮你做一个符合要求的网页。以下是网页的代码:
```html
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>选项卡</title>
<link rel="stylesheet" href="https://cdn.staticfile.org/layui/2.5.6/css/layui.min.css">
<script src="https://cdn.staticfile.org/jquery/3.5.1/jquery.min.js"></script>
<script src="https://cdn.staticfile.org/layui/2.5.6/layui.min.js"></script>
</head>
<body>
<div class="layui-container">
<div class="layui-row">
<div class="layui-col-md12 layui-col-xs12">
<div class="layui-tab layui-tab-card" lay-filter="tab">
<ul class="layui-tab-title">
<li class="layui-this">选项卡1</li>
<li>选项卡2</li>
<li>选项卡3</li>
</ul>
<div class="layui-tab-content">
<div class="layui-tab-item layui-show">
<div id="form1"></div>
</div>
<div class="layui-tab-item">
<div id="form2"></div>
</div>
<div class="layui-tab-item">
<div id="form3"></div>
</div>
</div>
</div>
</div>
</div>
</div>
<script>
layui.use(['element', 'form'], function(){
var element = layui.element;
var form = layui.form;
// 动态加载表单
element.on('tab(tab)', function(data){
var formId = "#form" + (data.index + 1);
if($(formId).html() == '') {
$(formId).append('<form class="layui-form" lay-filter="form' + (data.index + 1) + '">' +
'<div class="layui-form-item">' +
'<label class="layui-form-label">用户名</label>' +
'<div class="layui-input-block">' +
'<input type="text" name="username" required lay-verify="required" placeholder="请输入用户名" autocomplete="off" class="layui-input">' +
'</div>' +
'</div>' +
'<div class="layui-form-item">' +
'<label class="layui-form-label">密码</label>' +
'<div class="layui-input-block">' +
'<input type="password" name="password" required lay-verify="required" placeholder="请输入密码" autocomplete="off" class="layui-input">' +
'</div>' +
'</div>' +
'<div class="layui-form-item">' +
'<div class="layui-input-block">' +
'<button class="layui-btn" lay-submit lay-filter="form' + (data.index + 1) + '">提交</button>' +
'</div>' +
'</div>' +
'</form>');
}
form.render();
});
// 监听表单提交
form.on('submit(form1)', function(data){
layer.msg(JSON.stringify(data.field));
return false;
});
form.on('submit(form2)', function(data){
layer.msg(JSON.stringify(data.field));
return false;
});
form.on('submit(form3)', function(data){
layer.msg(JSON.stringify(data.field));
return false;
});
});
</script>
</body>
</html>
```
解释一下代码:
1. 首先引入了 layui 的 CSS 和 JS 文件,以及 jQuery 库。
2. 在 body 中创建一个 layui 容器,里面包含一个 layui 列和一个 layui 选项卡。
3. 选项卡中有三个选项,每个选项卡都对应一个空的 div,这个 div 的 id 是 form1、form2、form3。
4. 通过 layui 的 element 模块和 lay-filter 属性,监听选项卡的切换事件,当切换到某个选项卡时,判断对应的表单 div 是否为空,如果是,则动态生成一个 layui 表单。
5. 生成表单时,使用 layui 的 form 模块和 lay-filter 属性,为表单添加监听事件,当表单提交时,弹出一个提示框,显示表单提交的数据。
6. 最后,用 layui 的 form 模块渲染表单。
这样就完成了一个符合要求的网页,可以在 PC 和移动端上使用,并且可以切换选项卡,动态加载表单。
阅读全文