Foros del Web » Programando para Internet » PHP » CodeIgniter »

recorrer campos de formulario codeigniter

Estas en el tema de recorrer campos de formulario codeigniter en el foro de CodeIgniter en Foros del Web. Hola amigos, Comentarles que estoy trabajando en una aplicación en codeIgniter, para el envío de los datos utilizo ajax por medio de la función de ...
  #1 (permalink)  
Antiguo 27/10/2011, 13:38
 
Fecha de Ingreso: diciembre-2006
Mensajes: 213
Antigüedad: 17 años, 4 meses
Puntos: 3
recorrer campos de formulario codeigniter

Hola amigos,

Comentarles que estoy trabajando en una aplicación en codeIgniter, para el envío de los datos utilizo ajax por medio de la función de dicho framework, pero he me encuentro tengo formularios dinámicos y son muchos campos para ir recorriendo uno por uno.

Ya me topé con una situación similar y lo resolví siguiendo esto: http://www.desarrolloweb.com/articulos/1326.php

Pero era desarrllando a patita con el puro PHP, ahora quiero hacer lo mismo con codeIgniter, pero también los datos los mando con JQuery,

Me pueden ayudar indicándome cómo puedo proceder en este caso?

desde ya muchas gracias.
  #2 (permalink)  
Antiguo 27/10/2011, 14:13
 
Fecha de Ingreso: julio-2008
Ubicación: Barcelona
Mensajes: 2.100
Antigüedad: 15 años, 9 meses
Puntos: 165
Respuesta: recorrer campos de formulario codeigniter

Una duda.. si alguien mete en tu form, un nuevo campo, por ejemplo editando el código fuente.. aparecerá en tu form?

Podrías hacer algo como:
Código PHP:
Ver original
  1. $mis_campos = array(
  2. 'nombre' => 'Nombre',
  3. 'apellidos' => 'Apellidos',
  4. 'correo' => 'Correo',
  5. 'telefono' => 'Teléfono'
  6. );
  7.  
  8. $out = '';
  9.  
  10. foreach($mis_campos as $key => $value) {
  11.  
  12. $post = $this->input->post($key, TRUE);
  13.  
  14. if($post) {
  15.  
  16. $out .= $value . ' : ' . $post . '<br />';
  17.  
  18. }
  19.  
  20. }
__________________
Gracias por el Karma :D

empleo ofertas de trabajo
  #3 (permalink)  
Antiguo 27/10/2011, 15:30
Avatar de NUCKLEAR
Moderador radioactivo
 
Fecha de Ingreso: octubre-2005
Ubicación: Cordoba-Argentina
Mensajes: 5.688
Antigüedad: 18 años, 6 meses
Puntos: 890
Respuesta: recorrer campos de formulario codeigniter

Con el foreach podes recorrer todos los valores de $_POST y para enviarlo por Jquery tenes la function serialize.

http://api.jquery.com/serialize/
http://api.jquery.com/jQuery.post/
__________________
Drupal Argentina

Última edición por NUCKLEAR; 28/10/2011 a las 04:24 Razón: Corregir nombre de function
  #4 (permalink)  
Antiguo 27/10/2011, 16:04
 
Fecha de Ingreso: diciembre-2006
Mensajes: 213
Antigüedad: 17 años, 4 meses
Puntos: 3
Respuesta: recorrer campos de formulario codeigniter

Bueno amigos,

Ayudenme a identificar donde va cada cosa por favor, en la vista tengo los formularios dinámicos, en el controlador tengo que capturar todo el arreglo que se va por post pero no se cómo hacerlo, tengo algo como lo siguiente:

Código PHP:
Ver original
  1. $res=$this->captura->cdatos($_POST);

Luego en el modelo tengo entendido que va el foreach para recorrerlo:

Código PHP:
Ver original
  1. function cdatos($datos){
  2.         $ar=fopen("datos.txt","w");
  3.         fputs($ar,"pruebas");
  4.         foreach($datos as $nombre_campo => $valor){
  5.             $asignacion = "\$" . $nombre_campo . "='" . $valor . "';";
  6.             eval($asignacion);
  7.             fputs($ar,$asignacion);
  8.         }
  9.         fclose($ar);             
  10.     }

Para hacer pruebas, estoy tratando de mandar los datos a un archivo de texto, pero no logro crearlo, pienso que pueda estar mal la forma en cómo le estoy pasando el arreglo desde el controlador al modelo.

Nota: desde la vista utilizo serialize para abarcar todo el formulario.

¿Me pueden indicar cuál sería la forma correcta de hacerlos por favor?

Saludos

Última edición por nh2006; 28/10/2011 a las 11:24

Etiquetas: campos, formulario, framework, php
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 12:35.