Foros del Web » Programando para Internet » Jquery »

[SOLUCIONADO] Problema con jquery validation

Estas en el tema de Problema con jquery validation en el foro de Jquery en Foros del Web. Hola, Estoy con un monton de formularios que los envio con ajax y tengo que hacer la validacion con jquery validation pero no me envia ...
  #1 (permalink)  
Antiguo 09/05/2013, 05:59
 
Fecha de Ingreso: enero-2013
Mensajes: 55
Antigüedad: 11 años, 3 meses
Puntos: 1
Problema con jquery validation

Hola,
Estoy con un monton de formularios que los envio con ajax y tengo que hacer la validacion con jquery validation pero no me envia el formulario ni los datos.

Codigo jquery:

Código PHP:
$('#b').on('click',function(){
        $("#peli").validate({
            rules:{
                sinopsis: {
                    required: true
                },
                pais: {
                    required: true
                },
                portada: {
                    required: true,
                    url: true
                },
                dvd:{
                    date: true    
                },
                generos:{
                    required: true
                },
                estreno:{
                    date: true
                }
            },
             messages: {
                 sinopsis:{
                    reuired: "Intrroduzca la sinopsis"
                },
                pais: { 
                    required: "Selecciona el pais"
                },
                portada:{
                    irequired: "Introduzaca URl con la portada",
                    url: "URL no valida"
                },
                generos:{
                    required: "Introduzca uno o mas generos"
                },
                dvd:{
                    date: "Introduzca una fecha valida"
                },
                estreno:{
                    date: "Introduzca una fecha valida"
                }
            },
            errorElement: "div",
            submitHandler: function(){
                datastring=$('#peli').serialize();
                $.ajax({
                    type: "POST",
                    url: "<?=site_url('ADMIN/peliculas/add_pelicula')?>",
                    data: datastring,
                    dataType: 'html',
                    async: false,
                    success: function(datos){
                        $('#director').before(datos);
                        $('#peli').addClass('dialog');
                        $('#dire').removeClass('dialog');
                    }
                });    
            }
           });
        
    });
Codigo html:
Código PHP:
<form id="peli">
<fieldset>
    <legend>Afegeix</legend>
    <?=form_label('T&iacute;tulo','titulo')?>
    <input type="text" name="titulo" id="titulo" required><br />
    <div id="s"></div>
    <?=form_label('Sinopsis','sinopsis')?>
    <textarea name="sinosis" id="sinosis"></textarea><br />
    <?=form_label('Pa&iacute;s','pais')?>
    <select name="pais" id="pais">
    <?php foreach($paises as $pais){?>
        <option value="<?=$pais->id?>"><?=$pais->pais?></option>
    <?php }?>
    </select><br />
    <?=form_label('Data estreno','estreno')?>
    <input type="date" name="estreno" id="estreno"><br />
    <?=form_label('Salida DVD/BLUERAY','dvd')?>
    <input type="date" name="dvd" id="dvd"><br />
    <?=form_label('Portada','portada')?>
    <input type="url" name="portada" id="portada"><br />
    <?=form_label('Gg&eacuteneros','generos')?>
    <select name="categorias[]" id="generos" multiple="multiple"></select>
    <?=form_label('Añadir genero','genero')?>
    <input type="text" id="genero" name="genero"><input type="button" id="b9" value="A&ntilde;adir g&eacute;nero"/><br />
    <input type="button" id="b" value="Aceptar" disabled="diasbled"/>
</fieldset>
</form>
  #2 (permalink)  
Antiguo 09/05/2013, 06:38
(Desactivado)
 
Fecha de Ingreso: abril-2013
Ubicación: rosario
Mensajes: 248
Antigüedad: 11 años
Puntos: 17
Respuesta: Problema con jquery validation

primero, como sabes que no envia? estas capturando algo del lado del servidor?
segundo, no hace falta que metas el validate dentro de un evento, esto puede ocacionar errores a veces.
  #3 (permalink)  
Antiguo 09/05/2013, 06:49
 
Fecha de Ingreso: enero-2013
Mensajes: 55
Antigüedad: 11 años, 3 meses
Puntos: 1
Respuesta: Problema con jquery validation

Cita:
Iniciado por diurno10 Ver Mensaje
primero, como sabes que no envia? estas capturando algo del lado del servidor?
segundo, no hace falta que metas el validate dentro de un evento, esto puede ocacionar errores a veces.
No lo envia porqué no hay respuesta, el opera captura lo que llega con ajax i la funcion esta bien porqué antes de ponerle el validation corria de maravilla

Como podria declararlo fuera de el evento?
  #4 (permalink)  
Antiguo 09/05/2013, 09:58
(Desactivado)
 
Fecha de Ingreso: abril-2013
Ubicación: rosario
Mensajes: 248
Antigüedad: 11 años
Puntos: 17
Respuesta: Problema con jquery validation

para llamar fuera del evento , simplemente asi

Código:
$("#peli").validate({ 
            rules:{ 
                sinopsis: { 
                    required: true 
                }, 
                pais: { 
                    required: true 
                }, 
                portada: { 
                    required: true, 
                    url: true 
                }, 
                dvd:{ 
                    date: true     
                }, 
                generos:{ 
                    required: true 
                }, 
                estreno:{ 
                    date: true 
                } 
            }, 
             messages: { 
                 sinopsis:{ 
                    reuired: "Intrroduzca la sinopsis" 
                }, 
                pais: {  
                    required: "Selecciona el pais" 
                }, 
                portada:{ 
                    irequired: "Introduzaca URl con la portada", 
                    url: "URL no valida" 
                }, 
                generos:{ 
                    required: "Introduzca uno o mas generos" 
                }, 
                dvd:{ 
                    date: "Introduzca una fecha valida" 
                }, 
                estreno:{ 
                    date: "Introduzca una fecha valida" 
                } 
            }, 
            errorElement: "div", 
            submitHandler: function(){ 
                datastring=$('#peli').serialize(); 
                $.ajax({ 
                    type: "POST", 
                    url: "<?=site_url('ADMIN/peliculas/add_pelicula')?>", 
                    data: datastring, 
                    dataType: 'html', 
                    async: false, 
                    success: function(datos){ 
                        $('#director').before(datos); 
                        $('#peli').addClass('dialog'); 
                        $('#dire').removeClass('dialog'); 
                    } 
                });     
            } 
           });
lo podes poner en un file.js aparte, yo tengo uno validaciones.js y ahi hago todas mis validaciones, para tenerlo un poco mas ordenado.
En cuanto a lo otro no veo error , pudiste probarlo con firefox y examinar con el firebug si devuelve algun error?
  #5 (permalink)  
Antiguo 09/05/2013, 10:06
 
Fecha de Ingreso: enero-2013
Mensajes: 55
Antigüedad: 11 años, 3 meses
Puntos: 1
Respuesta: Problema con jquery validation

Muchas grácias, le puesto el boton en submit i me va a la mil maravillas.

Te aconsejo usar el opera para desarollo, le puedes poner puntos de control, ves los resultados de ajax, etc

Etiquetas: ajax, codeigniter
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 18:05.