Diferencia entre revisiones de «Usuario:Juanda/jQuery/Plugins»
De WikiEducator
(→Estructura del plugin) |
(→Consideraciones previas) |
||
(16 revisiones intermedias por el mismo usuario no mostrado) | |||
Línea 38: | Línea 38: | ||
:Librerías útiles, como distintas versiones de jQuery (necesarias para el correcto funcionamiento del plugin). | :Librerías útiles, como distintas versiones de jQuery (necesarias para el correcto funcionamiento del plugin). | ||
:[http://malsup.com/jquery/form/ jquery.forms.js]: Script para habilitar ajax de forma transparente en los formularios. | :[http://malsup.com/jquery/form/ jquery.forms.js]: Script para habilitar ajax de forma transparente en los formularios. | ||
− | :jquery.mockjax.js: | + | :[https://github.com/appendto/jquery-mockjax jquery.mockjax.js]: Script para simular peticiones y respuestas de ajax. |
*Directorio localization: | *Directorio localization: | ||
Línea 51: | Línea 51: | ||
===Cargar el plugin=== | ===Cargar el plugin=== | ||
− | *Para utilizar jquery.validation, agregar referencia a las librerías jQuery y jquery.validation: | + | *Para utilizar jquery.validation, será necesario agregar previamente referencia a las librerías jQuery y jquery.validation: |
<source lang="javascript"> | <source lang="javascript"> | ||
<script src="scripts/jquery-1.6.4.js" type="text/javascript"></script> | <script src="scripts/jquery-1.6.4.js" type="text/javascript"></script> | ||
Línea 59: | Línea 59: | ||
<div class="slide"> | <div class="slide"> | ||
+ | |||
===html en formularios=== | ===html en formularios=== | ||
*Cada input del formulario lleva un label asociado | *Cada input del formulario lleva un label asociado | ||
*El atributo for del label hace referencia al id del formulario | *El atributo for del label hace referencia al id del formulario | ||
− | *El atributo name es necesario para el funcionamiento del plugin del formulario | + | *El atributo name es necesario para el funcionamiento del plugin del formulario y es el que se utiliza en el lado del servidor (al construir la url en una petición con GET por ejemplo). |
*Normalmente el atributo name y el atributo id suelen tener el mismo valor | *Normalmente el atributo name y el atributo id suelen tener el mismo valor | ||
<source lang="html4strict"> | <source lang="html4strict"> | ||
Línea 73: | Línea 74: | ||
===Métodos de validación=== | ===Métodos de validación=== | ||
− | *Los métodos de validación | + | *Los métodos de validación son el código javascript necesario para validar los elementos. |
*De serie tenemos disponibles un número considerable de métodos de validación para las comprobaciones más habituales. | *De serie tenemos disponibles un número considerable de métodos de validación para las comprobaciones más habituales. | ||
− | *Por ejemplo, un método de validación sería el código necesario para validar que las entradas de algunos campos sean | + | *Por ejemplo, un método de validación sería el código necesario para validar que las entradas de algunos campos sean numéricas. |
*Todos los métodos de validación dan por buenos campos vacios salvo los métodos required y equalTo. | *Todos los métodos de validación dan por buenos campos vacios salvo los métodos required y equalTo. | ||
</div> | </div> | ||
Línea 82: | Línea 83: | ||
====Métodos de validación estándar==== | ====Métodos de validación estándar==== | ||
*required – Campo requerido | *required – Campo requerido | ||
− | *remote – Se solicita un recurso para chequear | + | *remote – Se solicita un recurso para chequear validez (ej. usuario que no esté ya en uso) |
*minlength y maxlength, rangelength – Longitud del campo. | *minlength y maxlength, rangelength – Longitud del campo. | ||
*min, max, range – Valor mínimo, máximo y rango | *min, max, range – Valor mínimo, máximo y rango | ||
Línea 127: | Línea 128: | ||
</form> | </form> | ||
</source> | </source> | ||
− | *Con atributos personalizados que requieren parámetros | + | *Con atributos personalizados que requieren parámetros: |
+ | <source lang="html4strict"> | ||
+ | <input type=”text” minlength=”3”> | ||
+ | </source> | ||
+ | :Especifica que el contenido de nuestra caja de texto no debería ser menor de 3 caracteres. <br/>No es recomendable por la validación de nuestras páginas. | ||
+ | |||
====Mediante settings del plugin (opción rules) ==== | ====Mediante settings del plugin (opción rules) ==== | ||
*A través de código javascript y añadiendo las reglas a través del objeto rules. | *A través de código javascript y añadiendo las reglas a través del objeto rules. | ||
Línea 234: | Línea 240: | ||
====errorClass y validClass==== | ====errorClass y validClass==== | ||
*Podemos especificar el nombre de la clase CSS que se agregará al elemento validado en caso de fracaso o de éxito de la validación. | *Podemos especificar el nombre de la clase CSS que se agregará al elemento validado en caso de fracaso o de éxito de la validación. | ||
+ | |||
====errorElement, errorContainer, errorLabelContainer y wrapper==== | ====errorElement, errorContainer, errorLabelContainer y wrapper==== | ||
*Podemos configurar la posición y que tipo de elementos se generarán para los mensajes de error. | *Podemos configurar la posición y que tipo de elementos se generarán para los mensajes de error. | ||
Línea 263: | Línea 270: | ||
= Datagrid = | = Datagrid = | ||
+ | </div> | ||
+ | <div class="slide"> | ||
+ | ===Introducción=== | ||
+ | *Un componente esencial en una aplicación web es el datagrid. | ||
+ | *Hay muchas opciones diferentes, nos centraremos en plugins que funcionen sobre jQuery, para seguir la dinámica del curso: | ||
+ | :[http://flexigrid.info/ Flexigrid] | ||
+ | :[http://www.trirand.com/ jqGrid] | ||
+ | :[http://www.datatables.net/ DataTables] | ||
+ | *Elegimos DataTablas debido a: | ||
+ | :Excelente documentación: ejemplos de uso, foro | ||
+ | :Versatilidad: funcionamiento en cliente o cliente-servidor | ||
+ | :Aspecto visual: posibilidad de integrarlo con jQueryUI o con Twitter Bootstrap (que veremos más adelante en el módulo de Diseño de Interfaces Web). | ||
+ | </div> | ||
+ | <div class="slide"> | ||
+ | ===Funcionamiento básico=== | ||
+ | *Necesitamos un documento html que contenga una tabla. | ||
+ | *Se carga el script de jQuery | ||
+ | *Se cargan los ficheros del plugin de DataTables: | ||
+ | <source lang="html4strict"> | ||
+ | <script type="text/javascript" src="js/jquery.js"></script> | ||
+ | <script type="text/javascript" src="js/jquery.dataTables.js"></script> | ||
+ | </source> | ||
+ | *Se asocia la tabla con el plugin mediante la llamada al método dataTable(). | ||
+ | <source lang="html4strict"> | ||
+ | <script type="text/javascript" charset="utf-8"> | ||
+ | $(document).ready(function() { | ||
+ | $('#miTabla').dataTable(); | ||
+ | } ); | ||
+ | </script> | ||
+ | </source> | ||
+ | </div> | ||
+ | <div class="slide"> | ||
+ | |||
+ | ===Funcionamiento más avanzado=== | ||
+ | *El método DataTables puede recibir parámetros: | ||
+ | <source lang="html4strict"> | ||
+ | $(document).ready(function() { | ||
+ | $('#example').dataTable( { | ||
+ | "aaSorting": [[ 4, "desc" ]] | ||
+ | } ); | ||
+ | } ); | ||
+ | </source> | ||
+ | *En el caso anterior ordenará por la cuarta columna y de modo descendente | ||
+ | *Realmente recibe un solo parámetro que es un json, muy similar al plugin de validación que acabamos de ver. | ||
+ | *La mejor forma de ver como personalizar nuestro DataTables es ver los [http://www.datatables.net/examples/ distintos ejemplos] que abarcan todas las posibilidades del plugin. | ||
</div> | </div> |
Última revisión de 12:35 23 ene 2014