[英]Joomla! modal, on close refresh page under condition
使用Joomla! v2.5和modal打开一个新的弹出窗口
<a href="index.php?option=com_mycomponent&view=my_view" class="modal" rel="{handler: 'iframe', size: {x: 800, y: 600}}">
用户将有一些选项(链接),如info / delete / lock。
选择(单击)选项并单击“关闭”按钮后,我需要关闭模态或关闭模态并刷新页面。
我总是可以使用这样的东西刷新页面
<a href="index.php?option=com_mycomponent&view=my_view" class="modal" rel="{handler:'iframe', size: {x: 800, y: 600},onClose:function(){var js =window.location.reload();}}">
但我需要在条件下刷新页面(例如用户点击“删除”=>刷新,用户点击“信息”=>什么也不做)
想法?
谢谢
所以,在Joomla! 2.5 modal
弹出窗口由SqueezeBox脚本(版本1.3)处理。
设置你的onClose
处理程序来调用你自己的Javascript方法,所以这个:
onClose:function(){var js =window.location.reload();}
变更为:
onClose:function(){checkUserChoice();}
或者,如果你保持你的Javascript整齐地命名空间(推荐)
onClose:function(){mycomponent.checkUserChoice();}
让checkUserChoice()
设置为做出决定:
mycomponent.checkUserChoice = function () {
userChoice = document.id('userOption).value;
if(userChoice == 'delete') {
// refresh our page
} else {
// do something else
}
}
然后将自定义Javascript文件加载到视图中:
// Get the document object
$document = JFactory::getDocument();
$document->addScript('path/to/myscript.js');
或者,如果您只有一个小方法加载:
$myscript = <<<'JS'
mycomponent.checkUserChoice = function () {
userChoice = document.id('userOption).value;
if(userChoice == 'delete') {
// refresh our page
} else {
// do something else
}
}
JS;
$document->addScriptDeclaration($myscript);
对于onClose处理程序,我建议让它调用你自己的自定义JS方法。 在该方法中,处理您的自定义逻辑以确定是否刷新页面。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.