我的网站实施Quill有2个问题。
我想将Delta转换为HTML。为此我用这个:
var quill = new Quill('#editor-container', {
modules: {
toolbar: true
},
theme: 'snow'
});
var form = document.querySelector('form');
form.onsubmit = function() {
var text = document.querySelector('input[name=text]');
text.value = JSON.stringify(quill.root.innerHTML);
};
和HTMl表格:
<div class="form-group">
<label for="text" class="control-label">{$lang.a_text}:</label>
<input name="text" type="hidden">
<div id="editor-container">{$row.text|esc}</div>
</div>
<input type="submit" name="ok" value="Save" class="btn btn-primary">
在这种情况下,在文本的顶部和底部打印"
并打印已输出。这有什么问题?
我的2-nt问题是表单验证。 我有这个到我的PHP脚本:
if ($_POST['ok']) {
if (mb_strlen(Core::Input($_POST['text'])) < 2 || mb_strlen(Core::Input($_POST['text'])) > 50000)
$error = 'invalid text length!';
}
但是当我点击<input type="submit" name="ok" value="Save" class="btn btn-primary">
上的保存时,错误没有显示,表单成功为空,保存到数据库。
答案 0 :(得分:1)
对于您的第一个问题,请更改此内容:
text.value = JSON.stringify(quill.root.innerHTML);
到此:
text.value = quill.root.innerHTML;
并且工作正确
答案 1 :(得分:0)
第二个问题,这个怎么样
if ($_POST['ok']) {
if (mb_strlen(Core::Input($_POST['text'])) > 2 && mb_strlen(Core::Input($_POST['text'])) < 50000) {
// do save data
} else {
$error = 'invalid text length!';
// do displaying error
}
}