我正在为Joomla 3.0开发一个自定义组件,并且在我的一个视图中使用一个编辑器字段。我使用纯HTML和JS开发视图,而不是使用Joomla XML结构。我已经成功地加载并使用了编辑器字段,但是当我使用ajax将表单数据发布到控制器时,编辑器字段没有显示,或者为空。
如何使用ajax将编辑器的内容发布到控制器?
表格代码-
<form id="servicecategory-form" name="servicecategory-form" enctype="multipart/form-data">
...
<!-- description editor-->
<div class="control-group">
<label class="control-label">
<a href="#" data-toggle="tooltip" title="Description">
Description
</a>
</label>
<div class="controls">
<?php
$editor = JFactory::getEditor();
echo $editor->display('description', '', '270', '300', '50', '10',false);
?>
<p class="help-block"></p>
</div>
</div>
...
</form>
Javascript代码-
function saveServiceCategory() {
var form = jsn('#servicecategory-form');
var formData = form.serialize();
jsn.ajax({
type: 'POST',
url: 'index.php?option=com_centrilliontech_helloworld&task=custom.saveData&tmpl=component&format=raw',
cache: false,
data: formData,
beforeSend: function() {
jsn('#loading-modal').modal('show');
console.log('beforeSend');
}
})
.success(function(response) {
var value = jQuery.parseJSON(response);
if (value.error) {
alertBar('alert-error', 'Service Category', 'Error');
} else {
alertBar('alert-info', 'Service Category', value.message);
}
})
.complete(function() {
jsn('#loading-modal').modal('hide');
console.log('complete');
})
.error(function() {
alertBar('alert-danger', 'Service Category', 'Oops! An error occurred. Please try again later.');
});
}
请假设ajax请求以及与将数据发布到相关控制器相关的任何操作都正常工作,事实上,这里唯一的问题是如何访问编辑器的内容并将其发布到控制器,以便将其保存在数据库中。
提前感谢您的帮助。
下面是我如何通过AJAX传递Joomla编辑器值的:
将编辑器内容保存在隐藏输入中或操作元素上,作为PHP/超文本标记语言端的数据属性:
<input type="hidden" id="element_id" value="<?php echo $editor->save( 'editor_id' ); ?>" />
或者作为按钮上的数据属性:
<a id="element_id" href="javascript:;" data="<?php echo $editor->save( 'editor_id' ); ?>">Submit</a>
然后在Javascript端调用输入值或数据属性,如下所示:
var message = WFEditor.getContent('element_id');
请记住,如果要将html传递给控制器并使用jinput获取值,则需要使用raw,否则它将从中删除html标记。
$message = $jinput->get('message', null, 'raw');
我正在开发一个定制的joomla组件。我想在我的组件视图中添加joomla编辑器字段。我知道如何使用XML表单文件(models/forms/myview.XML)添加编辑器,但我希望在视图文件(myview/tmpl/default.php)中也这样做,而不使用XML文件字段。可能吗?如果是,那怎么办? 请帮帮忙
我试图让我的Joomla 3组件呈现在URL中指定的布局,但我不明白为什么它坚持显示test.php布局。下面的所有相关代码和我使用的网址是: mysite.com/index.php?option=com_test 也许我完全错了,但我的代码如下: 代码: joomla/组件/组件测试/测试。php: Joomla/组件/com_test/控制器/test.php: joomla/组件/组件测试
我现在正在一个Joomla 2.5网站上工作,我有一个类别,我希望它与网站的其他部分有所不同。比如,导航栏中有一个链接,可以直接将您带到该类别(列出该类别中的所有文章)。我已经设法做到了这一点,但我现在似乎无法修改布局。 我进入了一个现有的模板(beez5),复制了beez5/html/com_content/类别文件夹,并将其粘贴到我的模板文件夹中(所以我有我的模板/html/com_conte
在“SQL 编辑器”选项卡,你可以创建和编辑视图的 SELECT 语句 SQL。Navicat Data Modeler 为编辑视图定义提供广泛的高级功能,例如:编辑代码功能、智能自动完成代码、设置 sql 格式及更多。 【提示】当你在视图创建工具创建视图,SELECT 语句将会自动生成。 美化 SQL(仅适用于非 Essentials 版) 若要格式化凌乱的 SQL 代码到一个结构良好的脚本,你
本文向大家介绍Android自定义View接收输入法输入的内容,包括了Android自定义View接收输入法输入的内容的使用技巧和注意事项,需要的朋友参考一下 前言 可能对于很多新人来讲,看到这个题目,想到的能接收输入法输入的内容大概只有EditText和TextView这两个控件了,其实不然,只要是View的子类,都可以接收输入法输入的内容。 现在我们一步一步来实现,第一步我们得有一个View的
{/这是内容组件/} 我做了布局组件,我想在许多不同的内容中使用这个组件。例如,我想在网站中构建四个内容。这个布局是一样的。没有分别重写。 请告诉我如何流畅地插入元件。非常感谢。