85 lines
2.9 KiB
HTML
85 lines
2.9 KiB
HTML
{extend name="layout" /}
|
|
{block name="title"}发表新帖{/block}
|
|
{block name="body"}
|
|
<div class="layui-container fly-marginTop">
|
|
<div class="fly-panel" pad20>
|
|
<div class="layui-form layui-form-pane">
|
|
<form class="layui-form" id="postForm">
|
|
<div class="layui-row layui-col-space15 layui-form-item">
|
|
<div class="layui-col-md3">
|
|
<label class="layui-form-label">所在版块</label>
|
|
<div class="layui-input-block">
|
|
<select name="board_id" lay-verify="required">
|
|
<option value=""></option>
|
|
{volist name="boards" id="b"}
|
|
<option value="{$b.id}">{$b.name}</option>
|
|
{/volist}
|
|
</select>
|
|
</div>
|
|
</div>
|
|
<div class="layui-col-md3">
|
|
<label class="layui-form-label">类型</label>
|
|
<div class="layui-input-block">
|
|
<select name="type" lay-verify="required">
|
|
{foreach $typeMap as $k=>$v}
|
|
<option value="{$k}">{$v}</option>
|
|
{/foreach}
|
|
</select>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div class="layui-form-item">
|
|
<label class="layui-form-label">标题</label>
|
|
<div class="layui-input-block">
|
|
<input type="text" name="title" required lay-verify="required" autocomplete="off" class="layui-input">
|
|
</div>
|
|
</div>
|
|
<div class="layui-form-item layui-form-text">
|
|
<label class="layui-form-label">内容</label>
|
|
<div class="layui-input-block">
|
|
<script id="editor" name="content" type="text/plain" style="height:360px;"></script>
|
|
</div>
|
|
</div>
|
|
<div class="layui-form-item">
|
|
<button class="layui-btn" lay-submit lay-filter="postSubmit">立即发布</button>
|
|
</div>
|
|
</form>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
{/block}
|
|
{block name="js"}
|
|
<script src="/assets/library/ueditor/ueditor.config.js"></script>
|
|
<script src="/assets/library/ueditor/ueditor.all.js"></script>
|
|
<script>
|
|
layui.use(['form', 'jquery'], function(){
|
|
var form = layui.form, $ = layui.jquery;
|
|
|
|
// 初始化 UEditor 富文本编辑器
|
|
var ue = UE.getEditor('editor', {
|
|
serverUrl: '/forum/backend/ueditor',
|
|
initialFrameHeight: {$editorHeight|default=360},
|
|
zIndex: 9999
|
|
});
|
|
|
|
form.on('submit(postSubmit)', function(data){
|
|
// 同步编辑器内容到表单字段
|
|
data.field.content = UE.getEditor('editor').getContent();
|
|
if (!data.field.content || data.field.content.replace(/<[^>]*>/g, '').trim() === '') {
|
|
layer.msg('请填写帖子内容');
|
|
return false;
|
|
}
|
|
$.post('/forum/post', data.field, function(res){
|
|
if (res.code === 0) {
|
|
var id = res.data && res.data.id;
|
|
location.href = '/forum/topic/' + id;
|
|
} else {
|
|
layer.msg(res.message || '发布失败');
|
|
}
|
|
}, 'json');
|
|
return false;
|
|
});
|
|
});
|
|
</script>
|
|
{/block}
|