tutorial instalar advanced javascript php jquery yii2 yii2-advanced-app

javascript - instalar - yii2 advanced tutorial



Lista desplegable Yii2 onchange Redirigir a URL (3)

... ''onchange'' => ''window.location = "/ user / .."''; ...

Me gustaría que este código se redirija a / user / create ¿Cómo lo hago?

echo Html::beginForm(); echo Html::activedropDownList( $model, //name ''COMPANY_ID'', //select $companyList, //items [''onchange''=>''this.form.submit()''] //options ); echo Html::endForm();`


Por defecto, el formulario tendrá action = '''' y method = ''post'' . Debes cambiar eso:

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();

Puede encontrar más información en el documento aquí .

ACTUALIZAR

Por cierto, debería volver a verificar la forma en que está recuperando la identificación en su página de usuario / creación. Solo para comprobar cómo se envía el parámetro get, le recomendaría que haga un var_dump ($_GET) en esa acción. ES DECIR:

En el ContacForm predeterminado, si cambio el método a ''get'', cuando imprima var_dump ($_GET) y lo envíe, se mostrará:

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)

Las entradas que necesito están dentro de una matriz "ContactForm". Y eso es porque mi formulario proviene del modelo ContactForm.php . Por lo tanto, tenga esto en cuenta en los usuarios / crear para llamar a la identificación correctamente. Probablemente será algo así como:

$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'']; }

Avíseme si no tenía claro algo y actualizaré la respuesta por usted.