Foros del Web » Programando para Internet » Javascript » Frameworks JS »

Fancybox y ajax en codeigniter contenidos erroneos

Estas en el tema de Fancybox y ajax en codeigniter contenidos erroneos en el foro de Frameworks JS en Foros del Web. saludos amigos vengo por aca de nuevo solicitando de su ayuda espero me puedan ayudar La cosa es que tengo una peticion ajax la cual ...
  #1 (permalink)  
Antiguo 07/05/2013, 10:50
Avatar de BloodShadow  
Fecha de Ingreso: marzo-2010
Ubicación: El Salvador
Mensajes: 393
Antigüedad: 14 años, 9 meses
Puntos: 52
Fancybox y ajax en codeigniter contenidos erroneos

saludos amigos vengo por aca de nuevo solicitando de su ayuda espero me puedan ayudar

La cosa es que tengo una peticion ajax la cual cuando la ejecuto la primer vez me hace las consultas y queries y todo pero me carga contenidos erroneos en el fancy si hay errores de falta de campos sale bien pero cuando esta todo correcto, inserta luego no muestra el fancy hasta la proxima vez que le doy submit....

tengo este bucle para dibujar un listado de videos

Código PHP:
<?
    
if($videos && count($videos) > 0){

      foreach(
$videos as $video){
?>
        <br/>
        <br/>
        <iframe width="200" height="200" src="http://www.youtube.com/embed/<?= $this->videos_model->get_id_video($video->url_video?>" frameborder="0" allowfullscreen></iframe>
<?
        $attr 
'class="formulario_ajax"';
        echo 
form_open('votes/insert',$attr);
        echo 
form_label('User: ','user');
        
$data = array(
          
'name'        => 'user_id',
          
'id'          => 'user_id',
          
'value'       => ''
        
);
        echo 
form_input($data);

        echo 
form_label('Video: ','video');
        
$data = array(
          
'name'        => 'video_id',
          
'id'          => 'video_id',
          
'value'       => $video->id
        
);
        echo 
form_input($data);
        echo 
'<input type="submit" value="VOTAR" class="btn-vote" />';
        echo 
form_close();
      }

    }
?>
Luego tengo mi configuracion del fancy dentro de la peticion ajax

Código Javascript:
Ver original
  1. <script type="text/javascript">
  2.       $(document).ready(function(){
  3.         $(".formulario_ajax").submit(function(e){
  4.           e.preventDefault();
  5.           e.stopPropagation();
  6.           $.ajax({
  7.             url: $(this).attr("action"),
  8.             type: $(this).attr("method"),
  9.             data: $(this).serialize(),
  10.             success: function(data) {
  11.               $.fancybox({
  12.                 'width': 400,
  13.                 'height': 400,
  14.                 'enableEscapeButton' : false,
  15.                 'overlayShow' : true,
  16.                 'overlayOpacity' : 0,
  17.                 'hideOnOverlayClick' : false,
  18.                 'content' : data
  19.               });
  20.             }
  21.           });
  22.  
  23.         });
  24.       });
  25.     </script>

Y por ultimo mi controlador que creo qu por aca anda el problema

Código PHP:
        public function insert(){
            
            
$this->load->model('videos_model');
            
$data['videos'] = $this->videos_model->find_all() ;
            
            
$this->form_validation->set_error_delimiters('<p>''</p>');
            
$this->form_validation->set_rules('user_id''Usuario''required');
            
$this->form_validation->set_rules('video_id''Video''required');

            if(
$this->form_validation->run() === FALSE){
                
$this->load->view('votes/respuesta'$data);
            }else{
        if(
$this->votes_model->has_vote()){
          
$this->session->set_flashdata('message''Ocurrio un error');
        }else{
          
$this->votes_model->insert();
          
$this->session->set_flashdata('message''Gracias por votar');
        }
        
$this->load->view('votes/respuesta');
            }
        } 

Etiquetas: ajax, codeigniter, jquery
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 16:32.