我正在与TinyMCE合作。问题是每次我在完成标题和正文的一系列条件后尝试发布时,我得到的错误信息是最小的身体字符。如果我删除此条件,则会成功发布。如果我删除了TinyMCE并使用简单的textarea
,它将再次成功发布。 TinyMCE和if
之间有什么问题 - 身体状况。
<script type="text/javascript">
$(document).ready(function() {
$('#submit').click(function() {
var title = $('#title').val();
var body = $('#editor').val();
if (title == '') {
$('#erd').html('Please enter a title first');
return false;
}
if (body.length < 500) {
$('#erd').html('Body must not be less than 500 characters');
return false;
}
});
});
</script>
<legend>Title:</legend>
<input type="text" id="title" name="title" />
<br />
<br />
<legend>Body:</legend>
<textarea name="body" id="editor" style="border-radius:5px;"></textarea>
<br />
<script type="text/javascript" src="./js/tinymce/tinymce.min.js"></script>
<script type="text/javascript">
tinymce.init({
selector: "textarea#editor",
width: "640px",
height: "300px",
browser_spellcheck: true,
plugins: [
"advlist autolink textpattern wordcount lists link image charmap preview",
"searchreplace code fullscreen imagetools jbimages save",
"media table contextmenu paste"
],
toolbar: "insertfile undo redo | styleselect | bold italic | underline | strikethrough | alignleft aligncenter alignright alignjustify | bullist numlist outdent indent| blockquote | link jbimages | media",
relative_urls: false,
});
</script>
答案 0 :(得分:0)
您遇到的问题是,只有在您的代码运行后,TinyMCE才会填充textarea
。除此之外,没有给出用户点击提交按钮,但点击进入提交表单。
因此,您可以做的是将测试绑定到提交表单的实际事件:
$('formSelector').submit(function() {
if (title == '') { … }
});
此时,textarea
没有来自编辑器的更新值。但是,您可以直接访问TinyMCE的内容来检查内容的长度,例如:
tinyMCE.activeEditor.getContent()
tinyMCE.activeEditor.getContent({format : 'raw'});
tinyMCE.get('content id').getContent()
您现在可以查看长度,如:
if (500 > tinyMCE.activeEditor.getContent().length) {}
另见