Joomla 2.5 组件。保存前非阻塞模式
Joomla 2.5 component. Non blocking modal before saving
在一个自定义组件中,我有一个带有 ajax 调用的 .js 文件,它只传递一个 POST Json。
得到 posted Json 并进行一些检查的 API 文件。
我想阻止 Joomla 工具栏的默认行为,比如如果我单击保存,ajax(取决于某些条件)调用将 post 发送到 API,并取决于响应触发带有 Cancel/Go 前进按钮的非阻塞模式。
我想知道是否有办法拦截 Joomla 工具栏 save/save 并关闭操作事件。
我猜诀窍在于 joomla 保存按钮的工作原理...JToolBarHelper::apply('myTask');
任何提示将不胜感激:)
如果您的按钮有一个 onclick 事件处理程序,您可以简单地在您的组件 js 文件中覆盖它。例如,内容组件 'apply' 按钮具有以下事件处理程序:-
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;
}
您应该能够通过在末尾 return false 来阻止默认保存操作,这将阻止点击事件传播。
在一个自定义组件中,我有一个带有 ajax 调用的 .js 文件,它只传递一个 POST Json。 得到 posted Json 并进行一些检查的 API 文件。 我想阻止 Joomla 工具栏的默认行为,比如如果我单击保存,ajax(取决于某些条件)调用将 post 发送到 API,并取决于响应触发带有 Cancel/Go 前进按钮的非阻塞模式。 我想知道是否有办法拦截 Joomla 工具栏 save/save 并关闭操作事件。
我猜诀窍在于 joomla 保存按钮的工作原理...JToolBarHelper::apply('myTask');
任何提示将不胜感激:)
如果您的按钮有一个 onclick 事件处理程序,您可以简单地在您的组件 js 文件中覆盖它。例如,内容组件 'apply' 按钮具有以下事件处理程序:-
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;
}
您应该能够通过在末尾 return false 来阻止默认保存操作,这将阻止点击事件传播。