Summernote 返回空字符串
Summernote returning empty string
我正在尝试将 summernote 与 JSF 一起使用,但我不知道为什么这总是 return 空字符串:
<div class="form-group">
<label>Conteúdo *</label>
<h:inputTextarea value="#{cursoMB.paginaConteudo.conteudo}"
id="conteudo" required="true"
requiredMessage="O conteúdo é obrigatório"
styleClass="form-control summernote">
</h:inputTextarea>
</div>
在我的 JS 文件中:
$(document).ready(function() {
initSummerNote();
jsf.ajax.addOnEvent(initSummerNoteAjax);
});
function initSummerNoteAjax(data) {
if (data.status === 'success') {
jQuery('.summernote').summernote({
height : 300, // set editor height
minHeight : null, // set minimum height of editor
maxHeight : null, // set maximum height of editor
focus : false
// set focus to editable area after initializing summernote
});
}
}
调用模态时显示summernote,但保存时textarea内容为空
那是因为 summernote 插件没有将编辑后的文本存储在 textarea 中,你必须调用 jQuery('.summernote').code()
来获取编辑后的文本
我建议您在调用以存储值的按钮中添加一个 javascript 处理程序以获取文本并使用该 jsf 将字符串存储在
paginaConteudo.conteudo属性
function beforeSubmit() {
jQuery('.summernote').text(jQuery('.summernote').code());
}
此外,我建议您在重新创建 ajax 调用之前销毁小部件
jQuery('.summernote').destroy().summernote({..........
v0.7.0 之后使用 summernote 的人请注意:您现在必须使用 .summernote('code')
和 .summernote('destroy')
。
After v0.7.0, direct jquery methods, destroy and code were removed for avoiding conflict with other jquery libraries. You can call this methods with summernote api.
对于你所有使用的summernote textarea,你必须做一个循环并将真实的值设置为真实的textarea。
function beforeSubmit()
{
$('.summernote').each(function(v){
$(this).val($(this).code());
});
}
我正在尝试将 summernote 与 JSF 一起使用,但我不知道为什么这总是 return 空字符串:
<div class="form-group">
<label>Conteúdo *</label>
<h:inputTextarea value="#{cursoMB.paginaConteudo.conteudo}"
id="conteudo" required="true"
requiredMessage="O conteúdo é obrigatório"
styleClass="form-control summernote">
</h:inputTextarea>
</div>
在我的 JS 文件中:
$(document).ready(function() {
initSummerNote();
jsf.ajax.addOnEvent(initSummerNoteAjax);
});
function initSummerNoteAjax(data) {
if (data.status === 'success') {
jQuery('.summernote').summernote({
height : 300, // set editor height
minHeight : null, // set minimum height of editor
maxHeight : null, // set maximum height of editor
focus : false
// set focus to editable area after initializing summernote
});
}
}
调用模态时显示summernote,但保存时textarea内容为空
那是因为 summernote 插件没有将编辑后的文本存储在 textarea 中,你必须调用 jQuery('.summernote').code()
我建议您在调用以存储值的按钮中添加一个 javascript 处理程序以获取文本并使用该 jsf 将字符串存储在 paginaConteudo.conteudo属性
function beforeSubmit() {
jQuery('.summernote').text(jQuery('.summernote').code());
}
此外,我建议您在重新创建 ajax 调用之前销毁小部件
jQuery('.summernote').destroy().summernote({..........
v0.7.0 之后使用 summernote 的人请注意:您现在必须使用 .summernote('code')
和 .summernote('destroy')
。
After v0.7.0, direct jquery methods, destroy and code were removed for avoiding conflict with other jquery libraries. You can call this methods with summernote api.
对于你所有使用的summernote textarea,你必须做一个循环并将真实的值设置为真实的textarea。
function beforeSubmit()
{
$('.summernote').each(function(v){
$(this).val($(this).code());
});
}