Revisión actual |
Tu texto |
Línea 1: |
Línea 1: |
− | [[Categoría:Tutoriales KumbiaPHP]]
| + | == Enviar Formulario Usando Ajax == |
− | | |
− | {{cleanupbox
| |
− | |texto ='''Este ejemplo es funcional para la [[KumbiaPHP_Framework_Versión_1.0_Beta2| Versión Beta2]]'''
| |
− | }}
| |
− | | |
| | | |
| Mediante este ejemplo se muestra la forma de enviar un formulario de manera asincronica con el uso del helper Ajax y el archivo "jquery.kumbiaphp.js". | | Mediante este ejemplo se muestra la forma de enviar un formulario de manera asincronica con el uso del helper Ajax y el archivo "jquery.kumbiaphp.js". |
Línea 27: |
Línea 22: |
| </source> | | </source> |
| | | |
− | | + | Crearemos un modelo llamada Personas en la carpeta models ( models/personas.php ) |
− | Crearemos un modelo llamado '''Personas''' en la carpeta models ( models/personas.php ) | |
| | | |
| <source lang="php"> | | <source lang="php"> |
− | <?php
| |
| | | |
| class Personas extends ActiveRecord { | | class Personas extends ActiveRecord { |
Línea 38: |
Línea 31: |
| | | |
| </source> | | </source> |
− |
| |
− |
| |
− | Luego creamos un controlador para manejar las peticiones del ejemplo llamado '''PersonasController''' (personas_controller.php) y le añadimos el siguiente código:
| |
− |
| |
− | <source lang="php">
| |
− | <?php
| |
− |
| |
− | Load::models('personas'); //cargamos el modelo
| |
− |
| |
− | class PersonasController extends AppController {
| |
− |
| |
− | //accion a ejecutar
| |
− | public function agregar() {
| |
− |
| |
− | if (Input::hasPost('persona')) { //si se envia el formulario
| |
− | $persona = new Personas(Input::post('persona')); //creamos el objeto y le damos los valores del formulario
| |
− | if ($persona->save()) { //verificamos si se guardaron los datos
| |
− | Flash::valid('Guardado Exitoso');
| |
− | }
| |
− | }
| |
− | }
| |
− |
| |
− | protected function after_filter() {
| |
− | if ( Input::isAjax() ){
| |
− | View::template(null); //si es ajax solo mostramos la vista
| |
− | }
| |
− | }
| |
− | }
| |
− |
| |
− | </source>
| |
− |
| |
− |
| |
− | Ahora creamos la vista con el formulario en '''views/personas/agregar.phtml''' con el siguiente codigo:
| |
− |
| |
− | <source lang="php">
| |
− |
| |
− | <div id="resultado-ajax">
| |
− | <h1>Agregar Persona</h1>
| |
− | <?php View::content() ?>
| |
− | <br/>
| |
− | <?php echo Ajax::form("resultado-ajax") //especificamos el id del div que se actualizará luego del envio ajax ?>
| |
− | <dl>
| |
− | <dt>
| |
− | <?php echo Form::label('Nombres *', 'persona_nombres') ?>
| |
− | </dt>
| |
− | <dd>
| |
− | <?php echo Form::text('persona.nombres') ?>
| |
− | </dd>
| |
− | <dt>
| |
− | <?php echo Form::label('Apellidos *', 'persona_apellidos') ?>
| |
− | </dt>
| |
− | <dd>
| |
− | <?php echo Form::text('persona.apellidos') ?>
| |
− | </dd>
| |
− | </dl>
| |
− | <noscript>
| |
− | <?php echo Form::submit('Guardar') ?>
| |
− | </noscript>
| |
− | <?php echo Form::close() ?>
| |
− | </div>
| |
− |
| |
− | </source>
| |
− |
| |
− |
| |
− | Y eso es todo, cuando pulsemos el boton '''Guardar''' los datos se enviarán por Ajax, y el div '''resultado-ajax''' se actualizará mostrando nuevamente el formulario y el mensaje que nos indica si se guardaron los datos ó hubieron errores de validación, ademas si no se posee javascript ó esta desabilitado, el formulario se envia normalmente recargando la pagina :-)
| |
− |
| |
− | ===Ejemplo de como se vería la pagina===
| |
− |
| |
− | [[Archivo:Formularioajaxmanuel.png|500px]]
| |
− |
| |
− | ----
| |
− |
| |
− | Realizado por: Manuel Aguirre (manuel_j555)
| |