文章目录
这几天疯狂的赶毕业设计,之前我一直都是使用bootstarp或者easyUI的,想着毕业设计,页面要搞得漂亮些,于是在网上找啊找啊,找到了这个layui,感觉很nice,于是开始边学便用,边看文档边试…
于是,我的血泪史就开始了
1.官网的表单日期检验通过的数据无法被springMVC转换为Date
我的实体User中有个属性private Date birthday;
,然后就是最简单的addUser(User user)
添加用户的方法。
我前台就是使用layui官网的表单,来进行一些数据的基本校验,其中就有时间的校验
<div class="layui-inline">
<label class="layui-form-label">验证日期</label>
<div class="layui-input-inline">
<input type="text" name="date" id="date" lay-verify="date" placeholder="yyyy-MM-dd" autocomplete="off" class="layui-input">
</div>
</div>
它这里的格式是yyyy-mm-dd,这个格式的字符串是无法被直接转换为Date的,之前我没有注意到这点,还以为我哪个细节写错了,调试了好多遍才发现是我错了。
这一点主要是怪自己,这个我应该是要清楚的
2.ajax提交layui的form表单,无法执行success和error的回调
将真的,我对于前端的了解只限于html,一点js,jq和一点点的css,所以对于这一次的错误我是真的找了很久才找到。
首先说下原因:我的form也是复制官方模板再做修改的,然后再看文档参照form的事件监听,完成表单提交。这导致我的layui-form使用ajax提交的时候,因为ajax默认是异步的,所以导致ajax刚提交,就又执行了一遍form表单的submit,直接就刷新了页面,导致我的回调失效
官网的form提交按钮type="submit"
<div class="layui-form-item">
<div class="layui-input-block">
<button type="submit" class="layui-btn" lay-submit="" lay-filter="demo1">立即提交</button>
<button type="reset" class="layui-btn layui-btn-primary">重置</button>
</div>
</div>
所以我们把type改为button就ok了。
还有一种是说在form.on()
监听最后加上 return false;
,不过我试了下,我是没有效果的
3.使用form.val()给表单赋值时,单选框没有反应
我做的是修改User,要的效果就是选中table中的某个用户,点击修改,弹出类似于dialog,自动填上用户信息。
但是这个赋值的时候就是男女这个radio选择框一直无法赋值
form.val("SaveAndEditForm",{
name:obj.name,
staffNumber:obj.staffNumber,
email:obj.email,
education:obj.education,
identity:obj.identity,
birthday:timestampToDate(obj.birthday),
major:obj.major,
sex:obj.sex
})
我的obj.sex
的值是true,false
,这样无法实现赋值效果。后来我试了很多次,才发现radio的赋值,可能是需要用一个定值来赋值(我猜的,错了请指正),后来把sex的赋值改为obj.sex==true?'true':'false'
,就可以实现效果了
暂时先这样,继续肝,再留下我的血泪史