2017-02-13 67 views
0

我正在使用下面的peice代碼。HTML中的目標_blank :: a不工作yii2

[ 
      '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']); 
      }, 
     ] 

HTML輸出:

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

但是,當我點擊鏈接,我不是導航到新的選項卡,請求在同一標籤處理。我在'Mozilla'和'Chrome'上都試過這個。

任何幫助將深表rewared :)

回答

0

我不得不另起爐竈來正確運行代碼。

You can click here for reference

下面是一段代碼,我修改,併爲我工作。我必須設置'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']); 
    }, 
], 
0

我認爲這個代碼是一些小工具,對輸出進行格式化,因爲這是常見的情況中。如果是這樣,只需將格式更改爲raw

+0

我改變了它,但它仍然是一樣的。我已經更新了代碼 –

+1

它不適用於''format'=>'raw''?如果鏈接標籤已正確生成,請檢查源代碼。 – Bizley

+0

謝謝你的回覆。通過將格式設置爲'raw',我已經使用HTML輸出鏈接標記更新了上述代碼。但仍然沒有正面影響。 –

0

在gridview中禁用Pjax。在我的情況下,我想在新窗口中顯示圖像,並將其作爲網格中的亂碼字符出現。

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

試圖改變你的代碼像下面

[ 
     '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']); 
     }, 
    ] 

這用來'format' => 'raw'避免格式。

0

嘗試這種方式,它也可以正常使用 -

的問題也可能在pjax。即使您使用row格式。

在這種情況下,只需添加linkSelector PARAM:

\yii\widgets\Pjax::begin(
    ['id' => 'samle', 'linkSelector' => 'a:not(.target-blank)'] 
); 

,並添加相應的CSS類到你的鏈接:

return Html::a(
    'Print', 
    ['/site/print', 'id' => $model->id], 
    ['target'=>'_blank', 'class' => 'target-blank'] 
); 

這將阻止只有這些從pjax鏈接,這樣他們可以在新開放標籤。