form表单的取值和赋值

提问 已结 12 927
smile_hu
smile_hu 2020-3-31
悬赏:20飞吻
版本:layui 浏览器:
如何获取表单的数据呢,我这么写获取不到。
<form class="layui-form " lay-filter="formTest "> <!-- 提示:如果你不想用form,你可以换成div等任何一个普通元素 -->
<div class="layui-form-item">
<label class="layui-form-label">输入框</label>
<div class="layui-input-block">
<input type="text" name="123" placeholder="请输入" autocomplete="off" class="layui-input">
</div>
</div>
<div class="layui-form-item">
<div class="layui-input-block">
<button class="layui-btn" id="LAY_layedit_code" lay-submit lay-filter="*">立即提交</button>
<button type="reset" class="layui-btn layui-btn-primary">重置</button>
</div>
</div>
<!-- 更多表单结构排版请移步文档左侧【页面元素-表单】一项阅览 -->
</form>

$('#LAY_layedit_code').on('click', function(){
var date = form.val("formTest");
console.log(date)
alert(123)
});
回帖
  • @smile_hu jsonDataExt是我预留给扩展的属性的,比如除了form上显式收集的数据之外,还想加入一些额外的信息给后台,就通过第二个参数拼json传进去。
    如果没有额外属性的需求,就可以不传。

    当然这种情况,使用hidden也是一样的,看个人习惯。
    0 回复
  • form.val直接取值需要layui2.5.5以上版本,才有这个功能的
    1 回复
  •             form.on('submit(LAY_layedit_code)', function(data){
    console.log(data);
    return false;
    });
    或者自己封装一个
    getData: function (formObj, jsonDataExt) {
    var dataBinding = {}, array = formObj.serializeArray();
    $(array).each(function () {
    if (this.value !== '' && this.value !== undefined) {
    dataBinding[this.name] ? dataBinding[this.name] += ';' + this.value : dataBinding[this.name] = this.value;
    }
    });

    if (jsonDataExt != undefined) {
    var extArray = jsonDataExt.split(';');
    $(extArray).each(function () {
    var extSplitArray = this.split(':');
    dataBinding[extSplitArray[0]] = extSplitArray[1];
    });
    }
    return dataBinding;
    }
    getData($(".layui-form"))
    1 回复
  • smile_hu
    2020-3-31
    @HiTerry 我昨天下的最新版本的,文档就是这么写的 但就是实现不了[泪]
    0 回复
  • smile_hu
    2020-3-31
    @一鸣童鞋 这两个都可以。后面内个有点看不懂,都用了什么知识呢? 我去查查
    0 回复
  • smile_hu
    2020-3-31
    @一鸣童鞋 方法只传了一个参数 ,没报错
    0 回复
  • @smile_hu <button class="layui-btn" id="LAY_layedit_code" lay-submit lay-filter="这里设置一个值">立即提交</button>
    form.on('submit(这里设置一个值)',function (data) {
    console.log(data.field)

    })
    0 回复
  • smile_hu
    2020-3-31
    @Angel丨灬泪雨 这个是可以的。但是为啥文档说的内个 form表单取值 用不了呢
    0 回复
  • @smile_hu 因为之前框架里没有提供主动收集form值的方法,所以一直在用自己封装这个
    0 回复
  • smile_hu
    2020-3-31
    @一鸣童鞋 我想实现多条件搜索,一个form表单和一个table,该怎么做呢 文档有点看不懂[闭嘴]
    0 回复