Joomla 2.5组件。保存前的非阻塞模态

时间:2015-06-24 08:13:35

标签: javascript jquery ajax json joomla

在自定义组件中,我有一个带有ajax调用的.js文件,它只是传递一个POST Json。 获取发布的Json并进行一些检查的API文件。 我想阻止Joomla工具栏的默认行为,比如我点击保存,ajax(取决于某些条件)调用发送一个帖子到API,并根据响应触发一个非阻塞模式与取消/前进按钮。 我想知道是否有办法拦截Joomla工具栏保存/保存和关闭动作事件。

我猜诀窍是joomla保存按钮的工作方式...... JToolBarHelper::apply('myTask');

任何提示都将受到赞赏:)

1 个答案:

答案 0 :(得分:1)

如果您的按钮有一个onclick事件处理程序,您可以简单地覆盖组件js文件中的那个。例如,内容组件“apply”按钮具有以下事件处理程序: -

的onclick = “Joomla.submitbutton( 'article.apply')”

只要您最后加载.js文件,就可以复制Joomla.submitbutton函数并按照您的喜好处理click事件。

例如:

    /* Fires on occasion when a button has it bound to it's onclick event */
    Joomla.submitbutton = function(task)
    {

      // Do AJAX request here
      ...
      // Trigger modal here etc 

      return false;
    }

您应该能够阻止默认的保存操作,只需在结尾处返回false,这将阻止点击事件的传播。