Volver al índiceVarios 1


Situar el cursor en un control al cargar un formulario

Una forma de facilitar el uso de una página con controles es situar automáticamente el cursor en el control que probablemente va a utilizar el usuario, ahorrando al usuario el tener que hacer clic en ese control. Esto se puede conseguir mediante Javascript.

Una manera de hacerlo es asignar el atributo id del control sobre el que se quiere situar el cursor automáticamente y establecer el atributo onload del elemento body con el valor document.getElementById('XYZ').focus(), donde XYZ es el id del control, como muestra el ejemplo siguiente:

<body onload="document.getElementById('cursor').focus()">
<form action="validar1.php">
  <p>Al cargar esta página, el cursor sitúa automáticamente en la primera caja de texto:</p>
  <table>
    <tbody>
      <tr>
        <td>Usuario:</td>
        <td><input type="text" name="usuario" id="cursor" /></td>
      </tr>
      <tr>
        <td>Contraseña:</td>
        <td><input type="password" name="password" /></td>
      </tr>
    </tbody>
  </table>
  <p><input type="submit" value="Entrar" /></p>

</form>
</body>

Al cargar esta página, el cursor se sitúa automáticamente en la primera caja de texto:

Usuario:
Contraseña:

Volver al principio


Diferencias entre print y echo

print y echo son dos sentencias de PHP prácticamente equivalentes y se puede utilizar cualquiera de las dos en las mismas situaciones. Sin embargo, hay alguna diferencia entre ellas:

En resumen, no parece haber una razón de peso para preferir usar print en vez de echo o viceversa. Parece que la elección de uno u otro es personal y basada en la costumbre o la familiaridad con otros lenguajes o entornos en los que uno de los dos está más extendido. En estos apuntes se utiliza preferentemente print.

Volver al principio


La función print_r

La función print_r($variable [, $devolver]) escribe la variable $variable de forma legible, incluso aunque se trate de una matriz.

Aunque print_r() genera espacios y saltos de línea que pueden verse en el código fuente de la página, print_r() no genera etiquetas html, por lo que el navegador no muestra esos espacios y saltos de línea.

<?php
$matriz = array('nombre' => 'Pepito', 'apellidos' => 'Conejo');
print_r($matriz);
?>
Array ( [nombre] => Pepito [apellidos] => Conejo )

Para mejorar la legibilidad una solución es añadir la etiqueta <pre>, que fuerza al navegador a mostrar los espacios y saltos de línea.

<?php
$matriz = array('nombre' => 'Pepito', 'apellidos' => 'Conejo');
print '<pre>'; print_r($matriz); print '</pre>';
?>
Array
(
    [5] => pepe
    [10] => manué
)

Si el argumento $devolver toma el valor TRUE, print_r() no escribe nada pero devuelve el texto que se escribe cuando el argumento no está o toma el valor FALSE.

<?php
$matriz = array('nombre' => 'Pepito', 'apellidos' => 'Conejo');
$tmp = print_r($matriz);
print $tmp;
?>
Array ( [nombre] => Pepito [apellidos] => Conejo )

Volver al principio

Autor: Bartolomé Sintes Marco
Última modificación de esta página: 9 de marzo de 2007