Quill Delta HTML 并提交验证 [php & Smarty]
Quill Delta to HTML & Submit Validation [php & Smarty]
我在网站上实施 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">
上单击保存时,错误没有显示,并且表单成功地空保存到数据库。
对于你的第一期,改变这个:
text.value = JSON.stringify(quill.root.innerHTML);
至此:
text.value = quill.root.innerHTML;
并且会正常工作
第二个问题,这个如何
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
}
}
我在网站上实施 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">
上单击保存时,错误没有显示,并且表单成功地空保存到数据库。
对于你的第一期,改变这个:
text.value = JSON.stringify(quill.root.innerHTML);
至此:
text.value = quill.root.innerHTML;
并且会正常工作
第二个问题,这个如何
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
}
}