繁体   English   中英

的Joomla! 模态,在条件下的关闭刷新页面上

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM