【问题标题】:Joomla! modal, on close refresh page under conditionJoomla!模态,在条件下关闭刷新页面
【发布时间】:2013-03-28 20:41:27
【问题描述】:

使用 Joomla! v2.5和modal打开一个新的弹出窗口

<a href="index.php?option=com_mycomponent&view=my_view" class="modal" rel="{handler: 'iframe', size: {x: 800, y: 600}}">

用户将有一些选项(链接),例如信息/删除/锁定。

选择(单击)一个选项并单击“关闭”按钮后,我需要关闭模式或关闭模式并刷新页面。

我总是可以使用类似的方式刷新页面

<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 joomla2.5 joomla-extensions joomla-component


    【解决方案1】:

    所以,在 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);
    

    【讨论】:

    • 是的,但我怎样才能将用户的选择从模式“传递”到父级?
    【解决方案2】:

    对于 onClose 处理程序,我建议让它调用您自己的自定义 JS 方法。在该方法中,处理您的自定义逻辑以确定是否刷新页面。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2014-05-22
      • 2022-11-21
      • 2022-06-17
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多