По умолчанию форма будет иметь action = ''
и method = 'post'
. Вы должны изменить это:
echo Html::beginForm(['method' => 'get', 'action' => 'user/create']);
echo Html::activedropDownList(
$model, //name
'COMPANY_ID', //select
$companyList, //items
['onchange'=>'this.form.submit()'] //options
);
echo Html::endForm();
Дополнительную информацию можно найти в документе здесь а>.
ОБНОВЛЕНИЕ
Кстати, вам следует перепроверить способ получения идентификатора на странице пользователя/создания. Просто чтобы проверить, как отправляется параметр get, я бы порекомендовал вам сделать var_dump ($_GET)
в этом действии. IE:
В ContacForm по умолчанию, если я изменю метод на «получить», когда я напечатаю var_dump ($_GET)
и отправлю, он покажет:
array (size=3)
'r' => string 'site/contact' (length=12)
'ContactForm' =>
array (size=5)
'name' => string 'c' (length=1)
'email' => string '[email protected]' (length=18)
'subject' => string 'safd' (length=4)
'body' => string 'asfas' (length=5)
'verifyCode' => string 'eaxpzwp' (length=7)
'contact-button' => string '' (length=0)
Входные данные, которые мне нужны, находятся внутри массива «ContactForm». И это потому, что моя форма исходит от модели ContactForm.php
. Итак, имейте это в виду в users/create, чтобы правильно вызывать идентификатор. Вероятно, будет что-то вроде:
$get = Yii::$app->request->get(); //retrieve all get params in the url, even the route.
if (isset($get['ContactForm'])) { //Replace by the name of the form's model.
$COMPANY_ID = $get['ContactForm']['COMPANY_ID'];
}
Дайте мне знать, если я что-то не понял, и я обновлю ответ для вас.
person
Clyff
schedule
09.09.2015