Ver Mensaje Individual
  #1 (permalink)  
Antiguo 15/09/2014, 04:45
PabloManuel
 
Fecha de Ingreso: diciembre-2010
Mensajes: 236
Antigüedad: 13 años, 11 meses
Puntos: 6
Problema con Ajax y Jquery al cargar HTML asíncrono.

Hola!!

(Soy principiante con Ajax/Jquery)

Os resumo, tengo desarrollado mi propio CMS y ahora lo estoy pasando todo a procesos con Ajax y Jquery para evitar las dichosas recargas de páginas.

Lo que quiero hacer:

En el CMS quiero mostrar la tabla de registros y el formulario para modificar/añadir registros

Tengo:

Siempre dos ficheros:

- admin_noticias.asp
- admin_noticias_ajax.asp

El primero se encarga del html, jquery y css y el segundo de los procesos (crear registros, borrarlos, crear la tabla paginada...).

Uso el plugin easyResponsiveTabs para crear pestaña en infinidad de partes de la Web, son responsives, os recomiendo el plugin

El problema:

Cuando cargo una página, doy formato a las lengüetas, en el Head tenemos:

Código HTML:
Ver original
  1. <script type="text/javascript" src="js/easyResponsiveTabs.js"></script>
  2.         <link rel="stylesheet" href="css/easy-responsive-tabs.css"/>
  3.         <script>
  4.             $(document).ready(function() {
  5.                 $('#tabsjquery1, #tabsjquery2').easyResponsiveTabs({          
  6.                     type: 'default', //Types: default, vertical, accordion          
  7.                     width: 'auto', //auto or any width like 600px
  8.                     fit: true,   // 100% fit in a container
  9.                     closed: 'accordion', // Start closed if in accordion view
  10.                     activate: function(event) {  }// Callback function if tab is switched                            
  11.                 });
  12.             });
  13.         </script>

Y en el html esta estructura:

Código HTML:
Ver original
  1. <div id="tabsjquery1">
  2.  
  3.     <ul class="resp-tabs-list">
  4.         <li></li>
  5.         <li></li>
  6.         <li></li>
  7.     </ul>
  8.  
  9.     <div class="resp-tabs-container">
  10.         <div></div>
  11.         <div></div>
  12.         <div></div>
  13.     </div>
  14.  
  15. </div>

El problema viene después de ejecutar ajax y que me devuelva el html, no coge el formato.

Cuando hago click en la tabla para editar un registro, se ejecuta esto:

Código HTML:
Ver original
  1.             function edit_registro(id){
  2.                 //hay que pasarle la carpeta y el nombre del fichero
  3.                 //y a través de opción saber si recargar fotos noticia o fotos de galería.
  4.                 event.preventDefault();
  5.                 muestra_oculta('form_registro');
  6.                 respuesta_ajax('admin_noticias_ajax.asp', '?proceso=editregistro&id=' + id, 'form_registro');
  7.                 $('#tabsjquery1').easyResponsiveTabs(
  8.                     {
  9.                         type: 'default', //Types: default, vertical, accordion          
  10.                         width: 'auto', //auto or any width like 600px
  11.                         fit: true,   // 100% fit in a container
  12.                         closed: 'accordion', // Start closed if in accordion view
  13.                         activate: function(event) {  }// Callback function if tab is switched                            
  14.                     });
  15.             }
  16.         </script>

RespuestaAjax, devuelte un html equivalente a la estructura de tabsjquery1 y con varios formularios por dentro para editar la noticia, sus fotos, etc.

Al devolverlo, no coge el formato de easyResponsiveTabs