1. 什么是layui框架
layui是一个基于Web前端界面的轻量级JavaScript库。它的主要目标是提供简单易用的界面元素和强大的交互性。layui框架有着丰富的组件,如表单、表格、菜单、弹出层、按钮、图标等等。本文将着重介绍layui框架中form表单的使用。
2. form表单的基本结构
在layui框架中,form表单的基本结构如下:
<form class="layui-form" action="">
. . .
</form>
其中,“layui-form”是layui框架中form表单的样式,其为必填项。action为表单提交的地址,当然,layui框架同样支持异步表单提交,我们会在后文中进行介绍。在form表单中,常见的表单元素有输入框、下拉框、单选框、复选框等等,接下来,我们将一一进行讲解。
3. input输入框
3.1 text输入框
在form表单中,input输入框的type为text时,即为文本输入框。其用法如下:
<div class="layui-form-item">
<label class="layui-form-label">用户名</label>
<div class="layui-input-inline">
<input type="text" name="username" required lay-verify="required" placeholder="请输入用户名" autocomplete="off" class="layui-input">
</div>
</div>
该代码中,通过name属性设置输入框的名称,required属性表示该输入框为必填项,lay-verify属性用于设置该输入框的验证方式,placeholder为占位符内容,即显示在输入框上方的提示说明文字。这里采用的是layui提供的行内表单元素长度,即“layui-input-inline”,该类将占整行长度的一定比例。
3.2 password密码输入框
在form表单中,input输入框的type为password时,即为密码输入框。其用法如下:
<div class="layui-form-item">
<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>
该代码中与text输入框的基本结构大致相同,不同之处在于type类型为password。
4. select下拉框
在form表单中,select下拉框用于选择指定选项。其用法如下:
<div class="layui-form-item">
<label class="layui-form-label">城市选择</label>
<div class="layui-input-inline">
<select name="city" lay-verify="required">
<option value=""></option>
<option value="1">北京</option>
<option value="2">上海</option>
<option value="3">广州</option>
<option value="4">深圳</option>
</select>
</div>
</div>
该代码中,通过name属性设置下拉框的名称,lay-verify属性用于设置该下拉框的验证方式。在option中,value属性设置选项的值,选项的文本信息写在option标签中间。
5. radio单选框
在form表单中,radio单选框用于多项中选择其中一个。其用法如下:
<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="女">
</div>
</div>
该代码中,name属性必须相同,title属性设置单选框的文本信息,value属性设置单选框选项的值,选项之间以input标签形成的块元素“layui-input-block”进行排列。
6. checkbox多选框
在form表单中,checkbox多选框用于多项中选择多个。其用法如下:
<div class="layui-form-item">
<label class="layui-form-label">爱好选择</label>
<div class="layui-input-block">
<input type="checkbox" name="like[football]" title="踢足球">
<input type="checkbox" name="like[travel]" title="旅游">
<input type="checkbox" name="like[dance]" title="舞蹈">
<input type="checkbox" name="like[music]" title="听音乐">
</div>
</div>
该代码中,name属性采用数组的形式,“layui-input-block”用于块元素的布局排版。
7. 异步提交
在layui框架中,异步提交有几种形式,此处我们以layer.confirm()为例来讲解异步提交的实现方式。layer.confirm()为引入layui框架自带的对话框组件。我们可以通过其来实现异步提交的效果。
<div class="layui-form-item">
<button class="layui-btn" lay-submit lay-filter="formDemo">提交</button>
</div>
该代码中,button按钮的类名采用layui框架中自带的样式,lay-submit用于确认是否异步提交,lay-filter为layui自带的过滤器,对应于form表单中的属性。接下来,我们需要采用layui自带的JavaScript代码进行异步提交的实现,代码如下:
layui.use('form', function(){
var form = layui.form;
//监听提交按钮
form.on('submit(formDemo)', function(data){
//弹出确认框
layer.confirm('您确定提交该表单吗?', {icon: 3, title:'提示'}, function(index){
//异步提交表单
$.post(data.form.action,data.field,function(res){
if(res.status==1){
layer.alert('提交成功');
}else{
layer.alert('提交失败');
}
});
layer.close(index);
});
return false;
});
});
该代码中首先需要引入layui框架中的form模块。form.on()函数监听提交按钮,如需进行异步提交,则需要在on()函数的参数中加入“lay-filter”过滤器。在弹出确认框中,需要采用$.post()函数来进行表单的异步提交,其中data.form.action为表单的提交地址,data.field为表单中的数据(以对象的方式进行保存),异步提交完毕后,可以根据数据返回的结果进行相应代码的处理。
8. 总结
本文主要介绍了layui框架中form表单的使用。其中详细讲解了几种常见的表单元素的使用方法,以及使用layer.confirm()函数实现异步提交的效果。Layui框架在前端开发中有着广泛的使用。其独特的组件和配套的文档系统,可以大大提高前端开发效率和代码可读性。