layui框架form表单使用介绍

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框架在前端开发中有着广泛的使用。其独特的组件和配套的文档系统,可以大大提高前端开发效率和代码可读性。