【问题标题】:AJAX and onClick events for elements of jform in joomlajoomla中jform元素的AJAX和onClick事件
【发布时间】:2014-09-19 01:00:33
【问题描述】:

我需要根据在需要 AJAX 的父下拉列表中所做的选择来填充子下拉列表。但我不明白如何在 xml 标签中定义字段的 jform 中添加 onClick 事件。我正在使用 joomla 2.5.3 获取您的信息。

任何帮助将不胜感激。

<field
        name="fkclass"
        type="text"
        label="Class"
        description=""
        class="inputbox"
        required="true">
        <option value="">Select a Class</option>
    </field>

【问题讨论】:

    标签: ajax joomla joomla2.5 joomla-jform


    【解决方案1】:

    您必须创建自己的字段http://docs.joomla.org/Creating_a_custom_form_field_type。然后您必须在获取输入功能期间加载您的 javascript/AJAX 代码。

    例如,我制作了自己漂亮的颜色字段,如下所示:

    defined('_JEXEC') or die();
    
    class JFormFieldDpcolor extends JFormFieldText
    {
    
        protected $type = 'Dpcolor';
    
        public function getInput ()
        {
            $document = JFactory::getDocument();
            $document->addScript(JURI::root() . 'administrator/components/com_dpcalendar/libraries/jscolor/jscolor.js');
            return parent::getInput();
        }
    
        public function setup (SimpleXMLElement $element, $value, $group = null)
        {
            $element['class'] = $element['class'] . ' color' . ($element['required'] ? '' : ' {required:false}');
            $return = parent::setup($element, $value, $group);
            return $return;
        }
    }
    

    这应该可以帮助您入门。然后,您可以在 javascript 代码中创建一个侦听器,该侦听器在父下拉列表更改其值时触发。

    【讨论】:

    • 非常感谢@Laoneo,但由于我在编码方面有点天真,你能告诉我整个事情是如何运作的吗?我知道如何创建自己的自定义字段,但无法理解您在上面的示例中试图表示的内容,因为我不明白整个事情是如何实现的。无论如何,再次感谢您,Stackoverflow 摇滚,joomla 论坛不提供任何解决方案。
    • 在 getInput 函数中加载执行 ajax 请求的 javascript 文件。我的意思是我不能告诉你ajax 调用的样子。我给了你一个起点。
    猜你喜欢
    • 2013-08-02
    • 2021-03-21
    • 1970-01-01
    • 2010-11-30
    • 1970-01-01
    • 1970-01-01
    • 2016-06-23
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多