Ver Mensaje Individual
  #3 (permalink)  
Antiguo 24/11/2010, 07:18
jabit
 
Fecha de Ingreso: octubre-2010
Mensajes: 7
Antigüedad: 13 años, 6 meses
Puntos: 0
Respuesta: registro de usuarios en 3 pasos en cakephp con ajax

Muchas gracias por tu respuesta... lo he estado mirando y es perfecto para lo que quiero hacer, lo voy a probar a ver como queda, gracias de nuevo.

También estube pensando otras formas de hacerlo y una muy sencilla que no habia caido es la de mostrar y ocultar divs con javascript, desglosé los diferentes pasos en diferentes divs y con una pequeña función javascript muestro el que me interesa en cada momento y así no tengo que cambiar mi controller, al final en el ultimo paso (div) lo mando todo como hasta ahora lo tenía hecho en mi controller.

Lo malo de esta solución son los mensages de error que me los muestra en los divs ocultos...

por si a alguien le interesa:
Código PHP:
<?php echo $form->create('User', array('action' => 'signup/'.$invite_code'type' => 'file')); ?>

<div id="stepone" style="display: block;">
    <?php echo $this->element('users/signup/stepone'); ?>
</div>    

<div id="steptwo" style="display: none;">
    <?php echo $this->element('users/signup/steptwo'); ?>
</div>    

<div id="stepthree" style="display: none;">
    <?php echo $this->element('users/signup/stepthree'); ?>
</div>

<div id="stepfour" style="display: none;">
    <?php echo $this->element('users/signup/agb'); ?>
</div>


<?php echo $form->end(); ?>


<script type="text/javascript">
function show_hidde(id){

    document.getElementById("stepone").style.display = 'none';
    document.getElementById("steptwo").style.display = 'none';
    document.getElementById("stepthree").style.display = 'none';
    document.getElementById("stepfour").style.display = 'none';

    var el = document.getElementById(id);
    el.style.display = 'block';
}

window.onload = function(){
    show_hidde('stepone');
}
dentro de cada elemento un boton con un onclick que oculta o muestra los div que necesitas.


De todas formas voy a implementar el "Wizard Component" a ver como queda que tiene muy buena pinta.

Saludos