0

所以这是一个比较常见的问题,问题是我有一个带有 K2 扩展并运行 JAWall 模板的 Joomla 网站。我的问题是当用户想要在我的网站前端发布一个项目并点击保存弹出的灯箱时不会关闭。该帖子已添加,并且有某种更新,但该框仍然存在。

我在Joomla 论坛上一次又一次地在 K2 论坛中找到了一些讨论该问题和 Google 代码错误报告论坛,但它们都没有适合我情况的解决方案。我可以添加一个

window.parent.location.reload()

这会起作用,但如果用户在他们的帖子中上传一些媒体,它不会等待。那么如何让这个函数等待上传呢?我尝试添加的代码很长,但主要部分位于顶部,因此我将在此处发布,希望能帮助人们更好地了解情况。

<?php


// no direct access
defined('_JEXEC') or die('Restricted access');

$document = & JFactory::getDocument();
$document->addScriptDeclaration("
Joomla.submitbutton = function(pressbutton){
    if (pressbutton == 'cancel') {
        submitform( pressbutton );
        return;
    }
    if (\$K2.trim(\$K2('#title').val()) == '') {
        alert( '".JText::_('K2_ITEM_MUST_HAVE_A_TITLE', true)."' );
    }
    else if (\$K2.trim(\$K2('#catid').val()) == '0') {
        alert( '".JText::_('K2_PLEASE_SELECT_A_CATEGORY', true)."' );
    }
    else {
        syncExtraFieldsEditor();
        \$K2('#selectedTags option').attr('selected', 'selected');
        submitform( pressbutton );
        //window.parent.location.reload();//this is what i added            
    }
}
");

?>



<form action="index.php" enctype="multipart/form-data" method="post"
 name="adminForm"    id="adminForm">
<?php if($this->mainframe->isSite()): ?>
<div id="k2FrontendContainer">
    <div id="k2Frontend">

        <table class="k2FrontendToolbar" cellpadding="2" cellspacing="4">
            <tr>

                <td id="toolbar-save" class="button">
                    <a class="toolbar" href="#" onclick="javascript: submitbutton('save'); return false;"> <span title="<?php echo JText::_('K2_SAVE'); ?>" class="icon-32-save"></span><?php echo JText::_('K2_SAVE'); ?> </a>
                </td>
                <td id="toolbar-cancel" class="button">
                    <a class="toolbar" href="#" > <span title="<?php echo JText::_('K2_CANCEL'); ?>" class="icon-32-cancel"></span> <?php echo JText::_('K2_CLOSE'); ?> </a>
                </td>
            </tr>
        </table>

如果有人有想法为我指出正确的方向,我将不胜感激,因为这个问题,我周六在这里工作!

4

1 回答 1

0

由于这样的 K2 问题,我的工作切换到了 EasyBlog。问题似乎出在submitForm()功能上。可能有一个$app->setRedirect()没有重定向。

window.parent.location.reload()是多余的。如果您只想刷新页面,您需要做的就是删除return false;表单中的onclick.

于 2012-08-12T00:54:50.007 回答