关于layui框架的form表单布局(小白向)

form表单的使用

在使用form表单的时候,必须先声明form模块,否则select、checkbox、radio等将无法显示,并且无法使用form相关功能,这是很多小白一开始经常犯的错误,虽然这很简单但也很基础,所以有必要在这里提一下

form模块声明

<script> layui.use('form', function () { var form = layui.form; form.render(); }); </script>

在form使用class="layui-form"

<from class="layui-form"></from>

在from里面,我们通常使用这三个类(其他地方也一样)

class="layui-元素名-item"
class="layui-元素名-inline"
class="layui-元素名-block"

比如layui-form-item单独使用这个类会默认该元素独占一行,如

 <form class="layui-form">
        <div style="padding: 20px; background-color: #F2F2F2;">
            <div class="layui-form-item">
                <input type="text" class="layui-input">
            </div>
        </div>
    </form>

效果如下

在这里插入图片描述

这是单独一行的文本框,当然这样并不好看,通常我们会把它和标签一起使用

<form class="layui-form">
        <div style="padding: 20px; background-color: #F2F2F2;">
            <div class="layui-form-item">
                <label class="layui-input-inline">标签:</label>
                <input type="text" class="layui-input">
            </div>
        </div>
    </form>

效果如下

在这里插入图片描述

这时候我们发现,这两个东西并没有并在一排,我们通常需要给input外面添加一个class="layui-input-block"的div

<div class="layui-input-block">
                    <input type="text" class="layui-input">
                </div>

这时候这两个元素就会排成一排

在这里插入图片描述

这是因为layui-input-block这个类是一个表单元素占一行,竖着,以例表的形式排列。然后配合layui-form-item的使用,使这两个元素处在同一行。

但通常来讲,我们不需要这么长的input,我们可以把外面的div的类换成class="layui-input-inline"试试

<div class="layui-input-inline">
                <label class="layui-input-inline">标签:</label>
                <div class="layui-input-block">
                    <input type="text" class="layui-input">
                </div>
 </div>

在这里插入图片描述

class="layui-input-inline"允许多个表单控件占一行,横着,一行可以放置多个表单元素

让我们多复制几段看看效果

在这里插入图片描述

如果我想让它们竖下来排呢?别忘了上面讲到的layui-input-block

在这里插入图片描述

但是这样并不好看,我们通常是这样使用

 <div class="layui-form-item">
                <div class="layui-inline">
                    <label class="layui-form-label">标签:</label>
                    <div class="layui-inline">
                        <input type="text" class="layui-input">
                    </div>
                </div>
            </div>

在这里插入图片描述

一般来讲,添加不同元素名和默认的layui-inline的效果是不一样的,这个就需要大家多加试验来挑选合适自己的类。

以上是我的一些心得总结,后续我还会更新其他的关于layui框架的博客,希望能帮助到更多刚入门的同学,谢谢大家的支持!

  • 21
    点赞
  • 64
    收藏
    觉得还不错? 一键收藏
  • 6
    评论
### 回答1: layuiform表单submit提交是指使用layui框架中的form模块,通过form.on('submit', function(data){})方法来监听表单提交事件,然后在回调函数中获取表单数据并进行处理,最后通过ajax等方式将数据提交到后台进行处理。这种方式可以有效地避免表单重复提交等问题,提高了表单提交的安全性和可靠性。 ### 回答2: layui是一款前端框架,主要用于简化和美化前端开发过程中的UI设计和交互效果。其中,form表单是网页中必不可少的元素之一,通过表单可以获取用户输入信息,提交到后台服务器进行数据处理。 在layui中,form表单有一个submit()方法,可以用于将表单提交到后台服务器。该方法会触发form元素的submit事件,并将表单所有可提交的元素的值序列化,并附加到HTTP请求的数据体中。 使用示例: layui.form.on('submit(formDemo)', function(data){ // data.field为表单数据 layer.msg(JSON.stringify(data.field)); return false; // 防止表单跳转 }); 该示例中,formDemo是表单的lay-filter属性值,表示该表单的标识符。在触发submit事件后,会执行回调函数中的代码。其中,data.field为表单数据,可以通过JSON.stringify()方法将其转换成字符串后进行展示。 为了避免表单提交后页面跳转,可以在回调函数中使用return false语句,阻止默认的表单提交事件。 总之,layuiform表单submit提交方法非常方便和实用,在前端开发过程中可以大大提高代码的效率和可读性。 ### 回答3: layui是一个非常流行的前端UI库,它提供了方便快捷的表单提交方法,其中最常用的就是form表单的submit提交。 首先,我们需要在HTML中引入Layui的form模块,如下所示: ``` <script src="layui/layui.js"></script> <link rel="stylesheet" href="layui/css/layui.css"> ``` 然后,在需要提交的form表单中添加lay-submit属性,如下所示: ``` <form class="layui-form" lay-filter="example" lay-submit> <!--此处省略表单元素--> <button class="layui-btn" lay-submit lay-filter="form-submit">提交</button> </form> ``` 在表单中,我们可以看到lay-submit和lay-filter这两个属性。其中lay-submit代表这个表单将使用Layui的提交方法进行提交,lay-filter则是这个表单的过滤器名,方便我们在JavaScript中进行操作。 接下来,我们需要使用Layui的form模块来监听表单的submit事件,如下所示: ``` layui.use('form', function(){ var form = layui.form; //监听表单提交事件 form.on('submit(form-submit)', function(data){ //在这里编写表单提交的具体逻辑 return false; }); }); ``` 在监听表单提交事件中,我们使用了form.on()方法,它接收两个参数,第一个参数表示事件的名称,第二个参数表示事件的回调函数。在这个例子中,我们监听了lay-filter属性为form-submit的按钮的点击事件,点击按钮后回调函数中的data参数会包含表单的数据,我们可以在这里编写表单提交的逻辑。需要注意的是,由于我们使用了Layui表单提交方法,所以最后要在事件回调函数中返回false,防止表单元素传统跳转提交。 除了按钮的点击事件之外,我们还可以在表单元素中使用事件监听器,如下所示: ``` <form class="layui-form" lay-filter="example" lay-submit> <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" id="username"> </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" id="password"> </div> </div> <div class="layui-form-item"> <div class="layui-input-block"> <button class="layui-btn" lay-submit lay-filter="form-submit">提交</button> </div> </div> </form> <script> layui.use(['form', 'layer'], function(){ var form = layui.form; var layer = layui.layer; //监听用户名输入框失去焦点事件 form.on('blur(username)', function(data){ var username = data.value; //在这里可以对用户名进行检验逻辑 }); //监听密码输入框得到焦点事件 form.on('focus(password)', function(data){ //在这里可以显示密码强度检测 }); //监听表单提交事件 form.on('submit(form-submit)', function(data){ //表单提交逻辑 return false; }); }); </script> ``` 在这个例子中,我们在输入框中分别使用了on()方法来监听失去焦点和得到焦点事件,这些事件的名称就是对应的输入框的name属性值。在这些事件的回调函数中,我们可以编写输入框特定的逻辑,比如对用户名进行检验或者显示密码强度等等。 总之,Layui表单提交方法非常方便实用,能够充分满足我们前端开发的需要。当然,在实际使用中还要注意表单元素的验证和数据的安全问题,这部分内容有待进一步学习。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值