目标_blank在HTML :: a中不起作用yii2

Ank*_*oni 1 yii2-advanced-app

我正在使用下面的代码。

[
            'attribute' => 'Application',
            'format' => 'html',
            'value' => function ($dataProvider) {
                $student_username = $dataProvider->student_username;
                return Html::a('Print', Url::toRoute(['/coordinatorpanel/print-form', 'student_username' => $student_username]),
                    ['target' => '_blank', 'class' => 'btn btn-success center-block']);
            },
        ]
Run Code Online (Sandbox Code Playgroud)

HTML输出:

<a class="btn btn-success center-block" href="/nse/frontend/web/index.php?r=coordinatorpanel%2Fprint-form&amp;student_username=COR39690113" target="_blank">
Run Code Online (Sandbox Code Playgroud)

但是,当我单击链接时,没有导航到新选项卡,该请求在同一选项卡中处理。我在“ Mozilla”和“ Chrome”上都尝试过。

任何帮助将被深深地提醒:)

gly*_*yph 8

在gridview中禁用Pjax。在我的情况下,我想在新窗口中显示图像,而它却以网格中的乱码出现。

'format' => "raw",
'value' => function ($d) {
     return Html::a($d->image_filename, '/'.$d->imagePath(),['target'=>'_blank', 'data-pjax'=>"0"] );
    },
Run Code Online (Sandbox Code Playgroud)

  • 对于使用 Pjax 的 GridView,这是最简单的答案,即 `['data-pjax' =&gt; 0, 'target' =&gt; '_blank']`。在大多数情况下,“format”=&gt;“raw”,甚至不是必需的。 (2认同)

ris*_*2m8 6

尝试如下更改代码

[
        'attribute' => 'Application',
        'format' => 'raw',
        'value' => function ($dataProvider) {
            $student_username = $dataProvider->student_username;
            return Html::a('Print', Url::toRoute(['/coordinatorpanel/print-form', 'student_username' => $student_username]),
                ['target' => '_blank', 'class' => 'btn btn-success center-block']);
        },
    ]
Run Code Online (Sandbox Code Playgroud)

在这里它用来'format' => 'raw'避免格式化。


Ank*_*oni 1

我必须采取其他方式才能正确运行代码。

您可以点击这里参考

下面是我修改并为我工作的代码片段。我必须设置“onclick”事件并将 href 设置为空。

[
    'attribute' => 'Application',
    'format' => 'raw',
    'value' => function ($dataProvider) {
        $student_username = $dataProvider->student_username;
        return Html::a('Print', '',
            ['onclick' => "window.open ('".Url::toRoute(['/coordinatorpanel/print-form', 
                          'student_username' => $student_username])."'); return false", 
             'class' => 'btn btn-success center-block']);
    },
],
Run Code Online (Sandbox Code Playgroud)