2015-04-09 2 views
0

Я пытаюсь установить $_GET, если выбрана кнопка. В настоящее время я пытаюсь установить это, используя следующую команду: CHTML::hiddenField('hidden', $displayData = "option1");, но это только перезагружает страницу. Какие-либо предложения?

Контроллер:

<?php 
    $data1 = new CArrayDataProvider(.......){ 
     ....... 
    } 

    $data2 = new CArrayDataProvider(.......){ 
     ....... 
    } 

    if(isset($_GET['export'])){ 
     $displayData = $_GET['export'] == 'option1' ? $data1 -> getData() : $data2 ->getData(); 

     // Export CSV FILE Content here 

    } 
?> 

Вид:

<?php 
    // BUTTON 1 
    CHTML::hiddenField('hidden', $displayData = "option1"); 
    // The button and other data 
?> 

<?php 
    // BUTTON 2 
    CHTML::hiddenField('hidden', $displayData = "option2"); 
    // The button and other data 
?> 

ответ

1

Read Yii документы о скрытом поле: link

public static string hiddenField(string $name, string $value='', array $htmlOptions=array ()) 

Так что ваш код в представлении должно быть что-то вроде этого:

CHTML::hiddenField('export', option1); 
or 
CHTML::hiddenField('export', option2); 

Кроме того, вы должны понимать, что hiddenField не является кнопкой или формой, он не отправляет данные нигде. Чтобы отправить некоторые данные от пользователя на сервер, вы должны использовать CActiveForm со своим скрытым полем. Вы можете найти пример here

+0

Спасибо @AxeIPAL, я прочитал документы Yii, но не смог понять это. Ценю вашу помощь! – ChaseHardin

Смежные вопросы