A mi me funciona el siguiente codigo.
¿Por que dices que no te cargan las variables?
No entiendo eso que dices "que solo me muestra en el objeto de texto nombre" ¿Que es lo que solo te muestra ahi? y ¿que es lo que esperas que se muestre?
Nota.- Cambie el que era hidden por text para poder ver su valor, y modifique un poquito cambiando las comillas sencillas, por comillas dobles.
----------
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>Prueba con JavaScript</title>
<script type="text/javascript">
function mostrar(frm)
{
frm.nombre.value=frm.establecia.options[frm.establecia.selectedIndex].value;
frm.codoculto.value=frm.establecia.options[frm.establecia.selectedIndex].text;
}
</script>
</head>
<body>
<?php
$codoculto="Algo oculto";
$nombre="Algo No Oculto";
echo '<form enctype="multipart/form-data" action="instituciones.php"
method="POST" class="formulario" name="pero">'."\n";
echo '<input name="codoculto" type="text"
value="'.$codoculto.'">'."\n";
echo '<select name="establecia" language="javascript"
onchange="mostrar(document.pero);">'."\n";
echo '<option value="Op1">Opcion 1</option>'."\n";
echo '<option value="Op2">Opcion 2</option>'."\n";
echo '<option value="Op3">Opcion 3</option>'."\n";
echo "</select>\n";
echo '<input name="nombre" type="text" value="'.$nombre.'" readonly
size="50">'."\n";
echo "</form>\n";
?>
</body>
</html>
-----------
Saludos!
-
Miguel Angel
Mike79