点击打开一个修改信息的页面,同时显示已有的信息,由于layui 富文本编辑器设置初始化必须在build之前,所有每次点击修改的时候只有第一次点击会build,猜测可能是缓存问题,造成无法获取到数据,原因还是因为数据必须在build之前被设置进去。禁用该页面的浏览器缓存即可。 火狐不需要。ie chrome 都需要禁用,这可能是因为thymeleaf的问题 thymeleaf头是 模板是html5格式,非严格thymeleaf html5验证。
<meta name="renderer" content="webkit">
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
<meta name="viewport"
content="width=device-width, initial-scale=1, maximum-scale=1">。
添加头 或者在url后添加随机数Math.random()
<meta http-equiv="cache-control" content="no-cache,no-store, must-revalidate" />
<meta http-equiv="pragma" content="no-cache" />
<meta http-equiv="Expires" content="0" />
下面是 thymeleaf 中 js 初始化必须是在构建富文本之前,否则无效
<script type="text/javascript" th:inline="javascript">
/* 只使用jquery */
layui.use(['jquery','layer','form'],function(){
var form = layui.form
var $ = layui.jquery;
$(document).ready(function(){
var id = [[${#httpServletRequest.getParameter('id')}]]; //获取传过来的id值
$.ajax({
url: "../admin/blog/get" ,
data: {'id':id} ,
type: "get" ,
dataType:'json',
success:function(result){
if([[result.success]]){
//location.reload();
//已经到了这步了。
var index = layer.load(2, {time: 5*1000}); //又换了种风格,并且设定最长等待5秒
/* var resultt = eval("(" + result.responseText + ")"); */
/* result = JSON.parse(result.responseText); */
$("#title").val(result.title);
$("#keyWord").val(result.keyWord);
$("#blogTypeId").val(result.blogType.id);
form.render('select'); //刷新select选择框渲染
$("#LAY_demo_editor").val(result.content);
layer.close(index);
}else{
layer.msg("加载失败!");
}
} //end success
});//end ajax
}); //end $()
});
</script>
<script th:inline="javascript" type="text/javascript">
/*<![CDATA[*/
layui.use(['form', 'layedit', 'laydate', 'jquery', 'layer'],
function() {
var form = layui.form,
layer = layui.layer,
layedit = layui.layedit,
laydate = layui.laydate,
$ = layui.jquery;
//上传图片,必须放在 创建一个编辑器前面
layedit.set({
uploadImage: {
url: '../uploadFile' //接口url
,
type: 'post' //默认post
}
});
//创建一个编辑器 id=LAY_demo_editor
var editIndex = layedit.build('LAY_demo_editor');
//自定义验证规则(只要非空即可)
//监听提交
form.on('submit(demo1)',
function(data) {
//获取博客标题
var title = data.field["title"]
//获取博客类别id
var blogTypeId = data.field["blogTypeId"]
//获取博客内容 带标记
var content = layedit.getContent(editIndex)
//截取博客前155字符 作为博客简介
var summary = layedit.getText(editIndex).substr(0, 155);
//博客关键词
var keyWord = data.field["keyWord"]
//获取博客内容 不带标签 纯文本
var contentNoTag = layedit.getText(editIndex) ;
$.ajax({
async: false,
url: '../admin/blog/save',
data: {
//thymeleaf获取request参数id值
'id': [[${#httpServletRequest.getParameter('id')}]],
'title': title,
'blogType.id': blogTypeId,
'content': content,
'summary': summary,
'keyWord': keyWord,
'contentNoTag': contentNoTag
},
type: 'post',
success: function(result) {
if ([[result.success]]) {
layer.alert('修改成功!', {
title: '系统提示',
icon: 6,
},
function(index) {
//下拉框不会清空,需要手动设值,设置value==selected的为默认选中
layer.close(index); //关闭并回到管理页面
window.location.href = '/views/blogManage'
});
} else {
layer.alert('修改失败。。', {
title: '系统提示',
icon: 5,
},
function(index) {
location.reload() //重写加载表格
//下拉框不会清空,需要手动设值,设置value==selected的为默认选中
$("#blogTypeId").val("selected");
layer.close(index); //关闭 重新回调修改页面
window.location.href = '/views/modifyBlog'
}); //end layer.alert
} //end else
} //end success
}); //end ajax
return false;
}); //end form on
});
/*]]>*/
</script>