0

Joomla3.0コンポーネントを開発しています。サンプルとして、Joomlaのドキュメントからcom_helloコンポーネントをダウンロードしました。

私が発生しているエラーは、ビューのリストのチェックボックスをオンにすると、エラーメッセージが表示されることですTypeError: b is null。このエラーは、core.jsのどこかで発生しました。

通常、2.5では、JHtml::_('grid.id',$i,$item->id);コードを使用<input type="hidden" name="boxchecked" value="0" />し、フォームにフィールドがある場合、正常に機能しました。

Joomlaコアのいくつかのコンポーネントも調べましたが、不足しているものやその他のエラーは見つかりませんでした。

default.phpこれが私の見解のコードです:

<?php

// NO DIRECT ACCESS TO THIS FILE
defined('_JEXEC') or die('Restricted access');

JHtml::_('behavior.tooltip');
?>
<form action="<?php echo JRoute::_('index.php?option=com_simplesuite'); ?>" method="post" name="adminForm">
    <table class="adminlist">
        <thead>
            <tr>
                <th>ID</th>
                <th><input type="checkbox" name="checkall-toggle" title="<?php echo JText::_('JGLOBAL_CHECK_ALL'); ?>" value="" onclick="Joomla.checkAll(this);" /></th>
                <th><?php echo JText::_('COM_SIMPLESUITE_TAGCLOUD_ADMINISTRATOR_LIST_NAME'); ?></th>
                <th><?php echo JText::_('COM_SIMPLESUITE_TAGCLOUD_ADMINISTRATOR_LIST_TAGS'); ?></th>
                <th><?php echo JText::_('COM_SIMPLESUITE_TAGCLOUD_ADMINISTRATOR_LIST_ACTIONS'); ?></th>
            </tr>
        </thead>
        <tbody>
            <?php foreach ($this->items as $i => $item) : ?>
            <tr class="row<?php echo $i%2; ?>">
                <td><?php echo $item->id; ?></td>
                <td><?php echo JHtml::_('grid.id',$i,$item->id); ?></td>
                <td><?php echo $item->name; ?></td>
                <td><?php echo ($item->tags) ? $item->tags : JText::_('COM_SIMPLESUITE_TAGCLOUD_ADMINISTRATOR_LIST_EMPTY'); ?></td>
                <td><a href="#">W</a><a href="#">X</a></td>
            </tr>
            <?php endforeach; ?>
        </tbody>
        <tfoot>
            <tr>
                <td colspan="4"><?php echo $this->pagination->getListFooter(); ?></td>
            </tr>
        </tfoot>
    </table>
    <div>
        <input type="hidden" name="task" value="" />
        <input type="hidden" name="boxchecked" value="0" />
        <?php echo JHtml::_('form.token'); ?>
    </div>
</form>
4

5 に答える 5

6

あなたの<form>要素については、あなたid="adminForm"も持っていることを確認してください。詳細については、 http://docs.joomla.org/Potential_backward_compatibility_issues_in_Joomla_3.0_and_Joomla_Platform_12.1#JavaScriptを参照してください。

于 2013-03-24T21:30:14.703 に答える
1

これを使用してみてください:

<?php echo JHtml::_('grid.checkall'); ?>

これの代わりに:

<input type="checkbox" name="checkall-toggle" title="<?php echo JText::_('JGLOBAL_CHECK_ALL'); ?>" value="" onclick="Joomla.checkAll(this);" />

それは私のために働いた。

于 2013-10-14T07:57:45.160 に答える
0

スクリプトの先頭にこれを追加してみてください。

window.addEvent('domready', function () {
    if (typeof jQuery != 'undefined' && typeof MooTools != 'undefined') {

            Element.implement({
                slide:function (how, mode) {
                    return this;
                }
            });
        }
    });

これはおそらく、開発チームと解決中のムートルの競合です。

于 2012-10-21T00:33:53.053 に答える
0

id="adminForm"をフォームに追加します。私はそれを見つけるためにしばらく時間を費やしました、同じ問題を抱えていました。

name = "adminForm"を持つフォームには、id="adminForm"も必要になります。

見る:

http://docs.joomla.org/Potential_backward_compatibility_issues_in_Joomla_3_and_Joomla_Platform_12.2#JavaScript

于 2013-11-13T02:45:09.663 に答える
0

私は次のフィールドを追加しました、そしてそれは私のために働きました

<input type="hidden" name="boxchecked" value="" />
于 2015-04-17T13:58:43.757 に答える