c语言编程笔录

首页 >   > 笔记大全

笔记大全

layui中form表单使用示例

更新时间:2023-12-01

前言

layui是一款优秀的UI组件库,具有丰富的组件和简洁易用的API,其中form组件是layui中的重要组件之一。form组件用于便捷的进行表单操作,包括表单验证、表单提交等。本文将详细介绍layui中form组件的使用方式,包括表单元素的基本使用、表单验证、表单提交等,帮助您快速学习和掌握layui中form组件的使用方法。

基础用法

在使用form组件之前需要引入相关的样式和js文件,可以在页面head中引入。
<!DOCTYPE html>
<html>
<head>
  <meta charset="utf-8">
  <title>Layui表单组件演示</title>
  <link rel="stylesheet" href="layui/css/layui.css">
</head>
<body>
  ...
  <script src="layui/layui.js"></script>
  <script>
  //一般直接写在一个js文件中
  layui.use(['form', 'laydate'], function(){

  })
  </script>
</body>
</html>
引入layui的form模块后,就可以使用form组件了。首先需要定义一个form标签,使用lay-filter属性设置一个名称,然后添加需要的表单元素。
<form class="layui-form" lay-filter="example">
  <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>
  <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>
</form>
上述代码中,使用了layui的表单组件来创建了一个表单,并添加了两个表单元素:用户名和密码。其中,lay-filter属性设置为example,方便后面使用。name属性定义了表单元素的名称,required属性表示该字段必填,lay-verify属性用于设置表单验证的规则,placeholder属性用于提示用户输入的内容,class属性用于定义样式。

表单验证

layui提供了灵活且易用的表单验证功能,可以通过设置表单元素的lay-verify属性来自定义验证规则。
<form class="layui-form" lay-filter="example">
  <div class="layui-form-item">
    <label class="layui-form-label">用户名</label>
    <div class="layui-input-inline">
      <input type="text" name="username" required lay-verify="username" placeholder="请输入用户名" 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="password" name="password" required lay-verify="password" 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="demo1">提交</button>
      <button type="reset" class="layui-btn layui-btn-primary">重置</button>
    </div>
  </div>
</form>

<script>
layui.use(['form'], function(){
  var form = layui.form;
  //自定义验证规则
  form.verify({
    username: function(value){
      if(value.length < 5){
        return '用户名长度不能小于5位';
      }
    }, 
    password: [/(.+){6,12}$/, '密码必须6到12位']
  });

  //监听提交
  form.on('submit(demo1)', function(data){
    layer.alert(JSON.stringify(data.field), {
      title: '最终的提交信息'
    })
    return false;
  });
});
</script>
上述代码中,用户名和密码的验证规则分别为:用户名长度不能小于5位,密码必须为6-12位。在js代码中,使用form.verify()方法进行自定义验证规则的设置。form.on()方法用于监听表单提交的事件,并可以获取表单提交的值。

表单提交

在表单验证通过后,就需要使用表单提交的功能了。在layui中,可以通过给表单中的按钮设置lay-submit属性和lay-filter属性来完成提交功能。
<form class="layui-form" lay-filter="example">
  <div class="layui-form-item">
    <label class="layui-form-label">用户名</label>
    <div class="layui-input-inline">
      <input type="text" name="username" required lay-verify="username" placeholder="请输入用户名" 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="password" name="password" required lay-verify="password" 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="demo1">提交</button>
      <button type="reset" class="layui-btn layui-btn-primary">重置</button>
    </div>
  </div>
</form>

<script>
layui.use(['form'], function(){
  var form = layui.form;
  
  //监听提交
  form.on('submit(demo1)', function(data){
    // ajax提交表单
    jQuery.post('提交的url',data.field,function(ret){
      if(ret.code == 0) {
        layer.msg('提交成功');
        setTimeout(function(){
          window.location.reload();
        },2000);
      } else {
        layer.msg('提交失败,' + ret.msg);
      }
    });
    return false;
  });
});
</script>
上述代码中,设置了提交按钮的lay-submit属性和lay-filter属性,同时设置了submit事件的监听。在监听事件中,使用jQuery.ajax提交表单,并在返回结果中进行处理和提示。

总结

通过本文的阐述,我们对layui中form组件的使用技巧有了更进一步的认识。在实际的开发工作中,可根据实际需求,灵活运用form组件的功能,简化表单操作,提高开发效率。同时,在使用过程中,需注意兼容性和代码规范,确保程序的可靠性和稳定性。