在使用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;
});