Cita:
Iniciado por dalmont Gracias por esta aportación, en cuanto limpie el código y funcione, lo compartiré!!!
Ya lo tengo casi perfecto. Tenías toda la razón en cuanto a repetir el mismo código, hay que prever llegar a tener 10 enlaces.
No tenía controlada la función siblings
Código Javascript
:
Ver originalvar $j = jQuery.noConflict();
$j(document).ready(function() {
$j('#formpubli').attr('action', '/mod/publi/back/index.php');
$j('#formdatos').attr('action', '/mod/user/back/php/registrado.php');
$j( function (){
//a todos los div con class enclace que sean hijos directo de div con id pesthanas y que no tengan class clase-sel le asigno permito el click
$j("#pestanhas>div.enlaceuser:not(.enlaceuser-sel)").live('click', function (){
//elimino classs clase-sel
$j(this).siblings().removeClass('enlaceuser-sel');
//agrego class clase-sel al clickeado asi no puede ser clickeado
$j(this).addClass('enlaceuser-sel');
//Busco el form dentro de la pestaña clickeada
form = $j('form', this);
$j(this).ajaxify(
{
event: false,
forms: form,
link: form.attr('action'),
title: form.attr('title'),
target: '#bodydatos',
method:'POST'
});
});
});
});
Un pequeño detalle es que he puesto el atributo action de cada formulario en el archivo de jquery en lugar de en el propio formulario.
Me ayuda a organizarme mejor, pero se podría poner también y perfectamente en el propio formulario.
Código HTML:
Ver original <div class="enlaceuser enlaceuser-sel"><form method="post" id="formdatos" title="Datos de usuario" >{TUSDATOS}
<input id="autorizado" name="autorizado" type="hidden" value="true" /></form></div> <div class="enlaceuser"><form method="post" id="formpubli" title="Publicidad" >{PUBLICIDAD}
<input id="autorizado" name="autorizado" type="hidden" value="true" /></form></div> <!--<div class="enlaceuser">{EVENTOS}</div> -->
Al final se quedan una serie de pestañas que cargan diferentes páginas mediante ajax que se puede adaptar a multitud de usos y facilmente modificable.
Muchas gracias a todos por vuestra ayuda!