layUI Form表单重置问题

layUI表单有两种方法,第一种是直接使用FORM标签,另一种是利用div作为容器,将其class设置成layui-form,这两种方法都可以使用layUI Form,但是在重置时会出现不同。

但是当在:
使用LayUI的后台模板时,其原始使用的是div作为form的容器,因此无法使用reset,
将其改为FORM之后虽然能够使用reset,但是在reset之后会自动刷新整个页面,特别对于页面查询出来的数据表格,reset之后会重新请求数据,因此数据表格的内容也会随之改变。

直接使用form标签的表单支持reset方法,而使用其他标签作为容器的则不支持。
对于直接使用Form的表单,想要reset,直接使用LayUI提供的方法就行,具体代码如下:

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>reset说明</title>
<link rel="stylesheet" href="layui.css" media="all">
</head>
<body>
<form class="layui-form" lay-filter="test"> <!-- 提示:如果你不想用form,你可以换成div等任何一个普通元素 -->
  <div class="layui-form-item">
    <label class="layui-form-label">输入框</label>
    <div class="layui-input-block">
      <input type="text" name="" placeholder="请输入" autocomplete="off" class="layui-input">
    </div>
  </div>
  <div class="layui-form-item">
    <label class="layui-form-label">下拉选择框</label>
    <div class="layui-input-block">
      <select name="interest" lay-filter="aihao">
        <option value="0">写作</option>
        <option value="1">阅读</option>
      </select>
    </div>
  </div>
  <div class="layui-form-item">
    <div class="layui-input-block">
      <button class="layui-btn" lay-submit lay-filter="submit-form">立即提交</button>
      <button type="reset" class="layui-btn layui-btn-primary">重置</button>
    </div>
  </div>
</form>
<script src="layui.js"></script>
<script>
layui.use('form', function(){
  var form = layui.form;
  //监听搜索
  form.on('submit(submit-form)', function(data){
       var field = data.field;
       //执行操作
        return false;
        });
});
</script>
</body>
</html>
<button type="reset" class="layui-btn layui-btn-primary">重置</button>

这一句便是调用LayUI的reset方法。一般的LayUI Form使用就可以。

为了实现点击reset按钮只重置表单内容而不刷新整个界面,则需要在

  form.on('submit(submit-form)', function(data){
       var field = data.field;
       //执行操作
        return false;
        });

时返回false,表示不刷新整个页面,即在点击reset之后不刷新页面,而是只刷新Form表单。

Logo

权威|前沿|技术|干货|国内首个API全生命周期开发者社区

更多推荐