javascript - Joomla 2.5 组件。保存前非阻塞模式

标签 javascript jquery ajax json joomla

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

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

任何提示将不胜感激:)

最佳答案

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

onclick="Joomla.submitbutton('article.apply')"

只要最后加载 .js 文件,您就可以复制 Joomla.submitbutton 函数并按您喜欢的方式处理点击事件。

例如:

    /* 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 来防止默认保存操作,这将阻止点击事件传播。

关于javascript - Joomla 2.5 组件。保存前非阻塞模式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31021200/

相关文章:

javascript - 如何使用google api获取电话号码

php - echarts:从URL获取数据

javascript - Ionic 2 可重用页面组件

javascript - 如何使 JQuery 窗口具有最小尺寸?

javascript - 将 Kendo 网格页面大小设置为变量仅在使用 parseInt(Variable) 时才有效?

jquery - 如何正确地将类添加到 div?

javascript - 在动态加载 html 时禁用 href

ajax - $routeProvider : templateUrl requests with X-Requested-With header

javascript - 在构建 React 应用程序时将绝对路径附加到 css/js 文件

在redirect_to之后没有调用javascript