在使用layui的表单时,碰到一个奇怪问题,就是点击提交按钮时,页面总是刷新,但本人用的时ajax提交的,不应该刷新页面的,最终解决了这个问题。
<form class="layui-form" action="" lay-filter="book_form"> <div class="layui-form-item"> <div class="layui-input-inline"> <input type="text" name="keyword" autocomplete="off" placeholder="请输入图书名称" class="layui-input"> </div> <div class="layui-input-inline"> <button class="layui-btn" lay-submit="" lay-filter="search_book">搜索</button> </div> </div> </form>
首先分析下:
<button class="layui-btn" lay-submit="" lay-filter="search_book">搜索</button>
这个按钮, 这个按钮属性必须包含 lay-submit=””
其次,在js代码中提交表单事件方法中的最后面加上 return false;如下,就能终止了layui的默认提交。
form.on('submit(search_book)', function (data) { $.ajax({ type: "POST", url: "/book/searchbook", data: data.field, datatype: "json", success: function (res) { var res = JSON.parse(res); console.log(res); } }); return false; });