js获得Layui表单的formData

        function getFormData() {
            var formData = {}; // 创建一个空对象来存储表单数据
            // 假设你的表单的class是'layui-form'
            var formElem = $('.layui-form'); // 获取表单元素
            // 遍历表单中的所有input、textarea等元素,并将它们的值存储到formData对象中
            formElem.find('input[name],textarea[name],select[name]').each(function(){
                var name = $(this).attr('name'); // 获取元素的name属性作为键
                var value = $(this).val(); // 获取元素的值作为值
                // 处理 checkbox 和 radio
                if ($(this).is(':checkbox,:radio')) {
                    if ( $(this).is(':checked')) {
                        // 如果元素被选中,则添加或更新数据
                        if ($.isArray(formData[name])) {
                            // 如果该 name 对应的值已经是一个数组,则添加新的值
                            formData[name].push(value);
                        } else {
                            // 否则,创建一个新数组并添加值
                            formData[name] = [value];
                        }
                    }
                    // 注意:如果不处理未被选中的 checkbox,则它们不会出现在数据中
                } else {
                    // 对于其他类型的输入,直接设置值
                    formData[name] = value;
                }
            });
            // 注意:这里只处理了input和textarea,如果你还有select、checkbox等需要处理,请添加相应的逻辑
            return formData; // 返回表单数据对象
        }

  • 5
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
如果你想要在Layui表单中实现排序功能,可以使用Layui的table模块和form模块结合起来实现。以下是一个简单的示例: 1. HTML代码 ```html <table class="layui-table" id="table"> <thead> <tr> <th>名称</th> <th>排序</th> </tr> </thead> <tbody> <tr> <td>第一行</td> <td> <input type="text" name="sort" lay-verify="required|number" value="1" class="layui-input"> </td> </tr> <tr> <td>第二行</td> <td> <input type="text" name="sort" lay-verify="required|number" value="2" class="layui-input"> </td> </tr> <tr> <td>第三行</td> <td> <input type="text" name="sort" lay-verify="required|number" value="3" class="layui-input"> </td> </tr> </tbody> </table> ``` 2. JavaScript代码 ```javascript layui.use(['table', 'form'], function() { var table = layui.table; var form = layui.form; //渲染表格 table.render({ elem: '#table', cols: [ [ { field: 'name', title: '名称' }, { field: 'sort', title: '排序', edit: 'text' } ] ], data: [ { name: '第一行', sort: 1 }, { name: '第二行', sort: 2 }, { name: '第三行', sort: 3 } ] }); //监听单元格编辑事件 table.on('edit(table)', function(obj) { var rowIndex = obj.tr.data('index'); //获取当前行索引 var sort = obj.value; //获取修改后的排序值 //更新数据源中对应行的排序值 table.cache['table'][rowIndex].sort = sort; }); //监听表单提交事件 form.on('submit(save)', function(data) { //获取表单数据 var formData = data.field; console.log(formData); //在这里可以将表单数据提交到后台进行处理 return false; //阻止表单跳转 }); }); ``` 在这个示例中,我们使用table.render()方法渲染表格,并设置了一个可以编辑的单元格来实现排序功能。在单元格编辑事件中,我们获取当前行的索引和修改后的排序值,然后更新数据源中对应行的排序值。最后,在表单提交事件中,我们可以获取表单数据并将其提交到后台进行处理。 希望这个示例对你有所帮助!
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值