layui弹出层弹出form详解

一、layui弹出层弹出照片

弹出层在前端开发中非常常见,对于图片的展示也是一个很重要的场景。在layui中,我们可以通过弹出层来实现图片的展示。

首先,我们需要引入layui的css和js文件,然后给按钮绑定一个点击事件,点击该按钮时触发弹出层:

<!DOCTYPE html>
<html>
<head>
  <meta charset="utf-8">
  <title>layui弹出层弹出照片</title>
  <link rel="stylesheet" href="layui/css/layui.css">
  <script src="layui/layui.js"></script>
</head>
<body>
  <button id="imgBtn">点我弹出层</button>
  <script>
    layui.use('layer', function(){
      var layer = layui.layer;
      $('#imgBtn').click(function(){
        layer.photos({
          photos: {
            "title": "自定义标题",
            "data": [{
              "alt": "图片名",
              "src": "图片地址"
            }]
          }
        });
      });
    });
  </script>
</body>
</html>

上面的代码中,我们引入了layui的css和js文件,然后在button的点击事件中,使用layer.photos来弹出图片。我们将图片的标题和路径封装成一个对象,然后传给photos的参数即可。

二、layui 弹出层 弹出form

弹出层除了用来展示信息,还可以用来展示表单。Layui中的layer模块提供了弹出层中form的API,我们只需要按照相应的格式来调用相应的函数,就可以实现在弹出层中展示表单的功能。

下面是一个简单的示例,点击按钮弹出弹出层中包含表单,点击提交按钮时,可以在控制台输出表单数据:

<!DOCTYPE html>
<html>
<head>
  <meta charset="utf-8">
  <title>layui 弹出层 弹出form</title>
  <link rel="stylesheet" href="layui/css/layui.css">
  <script src="layui/layui.js"></script>
</head>
<body>
  <button id="formBtn">点我弹出层</button>
  <script>
    layui.use('layer', function(){
      var layer = layui.layer;
      $('#formBtn').click(function(){
        layer.open({
          type: 1,
          title: '弹出层中包含表单',
          area: ['500px', '300px'],
          content: '<form class="layui-form"><div class="layui-form-item"><label class="layui-form-label">用户名</label><div class="layui-input-block"><input type="text" name="uname" 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="pwd" 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="formDemo">提交</button><button type="reset" class="layui-btn layui-btn-primary">重置</button></div></div></form>',
          success: function(layero, index){
            layui.use(['form'], function(){
              var form = layui.form;
              form.on('submit(formDemo)', function(data){
                console.log(data.field)
                return false;
              });
            });
          }
        });
      });
    });
  </script>
</body>
</html>

在上面的代码中,我们引入了Layui的css和js文件,并且在按钮的点击事件中,使用layer.open来弹出层中包含表单。在弹出层中包含表单的HTML代码中,我们使用了Layui的表单布局,并在提交表单时使用了form.on的事件监听来获取表单数据。

三、layui弹出层表单

Layui中的表单组件提供了丰富的表单元素和验证功能,我们可以在弹出层中使用Layui的表单组件,以实现更好的用户体验。

下面是一个示例,点击按钮弹出层中包含表单,表单中包含了多个表单元素,并且有必填项以及自定义规则的验证:

<!DOCTYPE html>
<html>
<head>
  <meta charset="utf-8">
  <title>layui弹出层表单</title>
  <link rel="stylesheet" href="layui/css/layui.css">
  <script src="layui/layui.js"></script>
</head>
<body>
  <button id="fBtn">点我弹出层</button>
  <script>
    layui.use(['form', 'layer'], function(){
      var form = layui.form;
      var layer = layui.layer;
      $('#fBtn').click(function(){
        layer.open({
          type: 1,
          title: 'information',
          area: ['500px', '300px'],
          content: '<form class="layui-form"><div class="layui-form-item"><label class="layui-form-label">username</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">password</label><div class="layui-input-block"><input type="password" name="pwd" required lay-verify="required" placeholder="请输入密码" autocomplete="off" class="layui-input"></div></div><div class="layui-form-item"><label class="layui-form-label">email</label><div class="layui-input-block"><input type="text" name="email" required lay-verify="email" placeholder="请输入邮箱" autocomplete="off" class="layui-input"></div></div><div class="layui-form-item"><label class="layui-form-label">age</label><div class="layui-input-block"><input type="text" name="age" required lay-verify="number" 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="formDemo">Submit</button></div></div></form>',
          success: function(layero, index){
            form.render();
          }
        });
      });
      form.on('submit(formDemo)', function(data){
        console.log(data.field)
        return false;
      });
    });
  </script>
</body>
</html>

在上面的代码中,我们引入了Layui的css和js文件,并给按钮绑定了一个点击事件。在该点击事件中,我们使用layer.open来弹出层中的表单,并使用Layui表单组件提供的验证功能来对表单元素进行验证。在表单验证通过后,可以在控制台输出表单数据。

四、layui弹出层自定义按钮

Layui弹出层不仅可以包含表单,还可以包含自定义按钮。我们可以通过layer.open的btn参数来自定义弹出层中的按钮。在弹出层中包含按钮,可以更加灵活地进行交互。

下面是一个示例,点击按钮弹出层中包含自定义按钮,点击按钮时会在控制台输出按钮的名称:

<!DOCTYPE html>
<html>
<head>
  <meta charset="utf-8">
  <title> layui弹出层自定义按钮</title>
  <link rel="stylesheet" href="layui/css/layui.css">
  <script src="layui/layui.js"></script>
</head>
<body>
  <button id="btn">点我弹出层</button>
  <script>
    layui.use(['layer'], function(){
      var layer = layui.layer;
      $('#btn').click(function(){
        layer.open({
          type: 0,
          title: 'information',
          content: '确定进行操作吗?',
          btn: ['确定', '取消'],
          yes: function(index, layero){
            console.log('确定')
            layer.close(index);
          },
          btn2: function(index, layero){
            console.log('取消')
            layer.close(index)
          }
        });
      });
    });
  </script>
</body>
</html>

在上面的代码中,我们引入了Layui的css和js文件,并在按钮的点击事件中使用layer.open来弹出层。在layer.open的btn参数中,我们可以自定义按钮的名称,并在yes和btn2的回调函数中来进行按钮的逻辑处理。在示例中,我们点击“确定”按钮时在控制台输出“确定”字符串,并关闭弹窗。

五、layui弹出层ajax

在前端开发中,我们经常需要通过ajax来进行异步操作。在Layui的弹出层中,我们同样可以使用ajax来对弹出层中的数据进行异步操作。

下面是一个简单的示例,点击按钮弹出层中异步获取数据:

<!DOCTYPE html>
<html>
<head>
  <meta charset="utf-8">
  <title>layui弹出层ajax</title>
  <link rel="stylesheet" href="layui/css/layui.css">
  <script src="layui/layui.js"></script>
</head>
<body>
  <button id="btn" class="layui-btn">Click Me</button>
  <script>
    layui.use(['layer', 'jquery'], function(){
      var layer = layui.layer;
      var $ = layui.jquery;
    
      $('#btn').click(function(){
        $.ajax({
          url: 'https://api.github.com/users/liufei9936',
          type: 'GET',
          dataType: 'JSON',
          success: function(res){
            layer.open({
              type: 1,
              title: 'User Information',
              area: '600px',
              content: '<div class="user"><img src="' + res.avatar_url + '" alt="" /><p>用户名:' + res.login + '</p><p>名称:' + res.name + '</p><p>公司:' + res.company + '</p><p>位置:' + res.location + '</p></div>'
            });
          },
          error: function(err){
            console.log(err)
          }
        });
      })
    });
  </script>
</body>
</html>

在上面的代码中,我们引入了Layui和jQuery的文件,并在按钮的点击事件中,使用jQuery中的$.

原创文章,作者:小蓝,如若转载,请注明出处:https://www.506064.com/n/300288.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
小蓝小蓝
上一篇 2024-12-29 12:51
下一篇 2024-12-29 12:51

相关推荐

  • 如何使用HTML修改layui内部样式影响全局

    如果您想要使用layui来构建一个美观的网站或应用,您可能需要使用一些自定义CSS来修改layui内部组件的样式。然而,修改layui组件的样式可能会对整个页面产生影响,甚至可能破…

    编程 2025-04-29
  • 神经网络代码详解

    神经网络作为一种人工智能技术,被广泛应用于语音识别、图像识别、自然语言处理等领域。而神经网络的模型编写,离不开代码。本文将从多个方面详细阐述神经网络模型编写的代码技术。 一、神经网…

    编程 2025-04-25
  • Linux sync详解

    一、sync概述 sync是Linux中一个非常重要的命令,它可以将文件系统缓存中的内容,强制写入磁盘中。在执行sync之前,所有的文件系统更新将不会立即写入磁盘,而是先缓存在内存…

    编程 2025-04-25
  • nginx与apache应用开发详解

    一、概述 nginx和apache都是常见的web服务器。nginx是一个高性能的反向代理web服务器,将负载均衡和缓存集成在了一起,可以动静分离。apache是一个可扩展的web…

    编程 2025-04-25
  • Python输入输出详解

    一、文件读写 Python中文件的读写操作是必不可少的基本技能之一。读写文件分别使用open()函数中的’r’和’w’参数,读取文件…

    编程 2025-04-25
  • MPU6050工作原理详解

    一、什么是MPU6050 MPU6050是一种六轴惯性传感器,能够同时测量加速度和角速度。它由三个传感器组成:一个三轴加速度计和一个三轴陀螺仪。这个组合提供了非常精细的姿态解算,其…

    编程 2025-04-25
  • 详解eclipse设置

    一、安装与基础设置 1、下载eclipse并进行安装。 2、打开eclipse,选择对应的工作空间路径。 File -> Switch Workspace -> [选择…

    编程 2025-04-25
  • Java BigDecimal 精度详解

    一、基础概念 Java BigDecimal 是一个用于高精度计算的类。普通的 double 或 float 类型只能精确表示有限的数字,而对于需要高精度计算的场景,BigDeci…

    编程 2025-04-25
  • git config user.name的详解

    一、为什么要使用git config user.name? git是一个非常流行的分布式版本控制系统,很多程序员都会用到它。在使用git commit提交代码时,需要记录commi…

    编程 2025-04-25
  • Python安装OS库详解

    一、OS简介 OS库是Python标准库的一部分,它提供了跨平台的操作系统功能,使得Python可以进行文件操作、进程管理、环境变量读取等系统级操作。 OS库中包含了大量的文件和目…

    编程 2025-04-25

发表回复

登录后才能评论