Mostrar y Ocultar campos

Tengo una duda espero me puedan ayudar a solucionar.
Quisiera saber como puedo ocultar un campo al crear un registro ,pero al hacerle update el campo me aparezca para ser actualizado.

Este es mi form.


El campo que no quiero que se muestre al crear un registro es el campo estatus.
Se me ocurrio ocultarlo como se muestra en la imagen.

Ahora quisiera que en update se mostrara tambien esa opcion como un radiolist.
Solo he podido mostrarla con Html::activeRadioList($model, ‘estatus’,[1 => ‘activo’,0 =>‘inactivo’]); Pero no he podido mostrarlo con las demas opciones del formulario.

Esta en el manual, lo puedes hacer tambien en botones, variables temporales, etc
echo $form->field($model, ‘hidden1’)->hiddenInput([‘value’=> $value])->label(false);

Tambien lo puedes hacer con una funcion

function block()
{
document.getElementById(“TuId”).disabled = true;
}

Si fuera con la función sería dentro del controlador?

en el formulario, ya te doy un ejemplo que esta funcionando

<?= Html::a('Imprimir',['gen-pdf'],['class'=>'btn btn-primary','target'=>'_blank'])?>
<td align="center"><a href ="?r=/ventas/cerrarfactura" a><input type='button' value="Cerrar " class="btn btn-danger" id="boton12" onclick="block();"> </td>                  
<?php }?>

Ok haré la prueba. Gracias

@fredyr69
Existe alguna forma de hacerlo desde el controllador o con escenarios?
Perdon si no entendi a tu explicacion soy nuevo en yii2 jeje

if ($model->isNewRecord) {
   // acá pone todo para el nuevo registro
} else {
    // acá pone todo para actualizar
}
1 Like