Foros del Web » Programando para Internet » Jquery »

BootstrapValidator y envio de formas via ajax

Estas en el tema de BootstrapValidator y envio de formas via ajax en el foro de Jquery en Foros del Web. Hola chicos, tengo este codigo @import url("http://static.forosdelweb.com/clientscript/vbulletin_css/geshi.css"); Código Javascript : Ver original $ ( document ) . ready ( function ( ) {     ...
  #1 (permalink)  
Antiguo 01/10/2014, 17:03
Avatar de JessicaTJ  
Fecha de Ingreso: enero-2007
Ubicación: 127.0.0.1
Mensajes: 472
Antigüedad: 17 años, 3 meses
Puntos: 25
BootstrapValidator y envio de formas via ajax

Hola chicos, tengo este codigo

Código Javascript:
Ver original
  1. $(document).ready(function() {
  2.     $('#newsForm').bootstrapValidator({
  3.             // Only disabled elements are excluded
  4.             // The invisible elements belonging to inactive tabs must be validated
  5.             excluded: [':disabled'],
  6.             trigger: 'focus blur keyup',
  7.             feedbackIcons: {
  8.                 valid: 'icon-ok',
  9.                 invalid: 'icon-remove',
  10.                 validating: 'icon-refresh'
  11.             },
  12.             fields: {
  13.                 //field data here.
  14.             }
  15.         })
  16.         // Called when a field is invalid
  17.         .on('error.field.bv', function(e, data) {
  18.             // data.element --> The field element
  19.  
  20.             var $tabPane = data.element.parents('.tab-pane'),
  21.                 tabId    = $tabPane.attr('id');
  22.  
  23.             $('a[href="#' + tabId + '"][data-toggle="tab"]')
  24.                 .parent()
  25.                 .find('i')
  26.                 .removeClass('fa-check')
  27.                 .addClass('fa-times');
  28.         })
  29.         // Called when a field is valid
  30.         .on('success.field.bv', function(e, data) {
  31.             // data.bv      --> The BootstrapValidator instance
  32.             // data.element --> The field element
  33.  
  34.             var $tabPane = data.element.parents('.tab-pane'),
  35.                 tabId    = $tabPane.attr('id'),
  36.                 $icon    = $('a[href="#' + tabId + '"][data-toggle="tab"]')
  37.                             .parent()
  38.                             .find('i')
  39.                             .removeClass('fa-check fa-times');
  40.  
  41.             // Check if the submit button is clicked
  42.             if (data.bv.getSubmitButton()) {
  43.                 // Check if all fields in tab are valid
  44.                 var isValidTab = data.bv.isValidContainer($tabPane);
  45.                 $icon.addClass(isValidTab ? 'fa-check' : 'fa-times');
  46.             }
  47.         }).on('success.form.bv', function(e) {
  48.             e.preventDefault();
  49.             var $form = $(e.target);
  50.             var bv = $form.data('bootstrapValidator');
  51.               $.post($form.attr('action'), $form.serialize(), function(result) {
  52.                 // ... Falta lo de aqui U.U ...
  53.             }, 'json');
  54.         });
  55.     });

Y hasta ahi llegue XD la verdad no se como manejar esa parte de bootstrapvalidator, he tratado hacer el envio ajax por fuera pero obviamente me genera errores, alguien lo ha utilizado y hecho esto?

¡Agradecere mil su ayuda!
__________________
٩(͡๏̯͡๏)۶ || ٩(͡๏̯͡๏)۶
  #2 (permalink)  
Antiguo 01/10/2014, 17:55
Avatar de Djoaq  
Fecha de Ingreso: septiembre-2012
Ubicación: Barcelona
Mensajes: 271
Antigüedad: 11 años, 7 meses
Puntos: 38
Respuesta: BootstrapValidator y envio de formas via ajax

Hola acabo de responder una pregunta que te puede servir.
Un saludo
http://www.forosdelweb.com/f179/prob...datos-1110111/
  #3 (permalink)  
Antiguo 02/10/2014, 10:11
Avatar de JessicaTJ  
Fecha de Ingreso: enero-2007
Ubicación: 127.0.0.1
Mensajes: 472
Antigüedad: 17 años, 3 meses
Puntos: 25
Respuesta: BootstrapValidator y envio de formas via ajax

Cita:
Iniciado por Djoaq Ver Mensaje
Hola acabo de responder una pregunta que te puede servir.
Un saludo
http://www.forosdelweb.com/f179/prob...datos-1110111/
Muchas gracias por tu respuesta Djoaq, intente como indicas pero cuando doy click en el boton de envio, la forma se me queda "tildeada" no hace nada y el boton se queda en estado de "click", alguna idea de porque podria pasar esto disculpa?
__________________
٩(͡๏̯͡๏)۶ || ٩(͡๏̯͡๏)۶
  #4 (permalink)  
Antiguo 02/10/2014, 10:46
Avatar de JessicaTJ  
Fecha de Ingreso: enero-2007
Ubicación: 127.0.0.1
Mensajes: 472
Antigüedad: 17 años, 3 meses
Puntos: 25
Respuesta: BootstrapValidator y envio de formas via ajax

Ya logre hacer que envie la forma, pero ahora, no me actualiza si el resultado es positivo:

Código Javascript:
Ver original
  1. $(document).ready(function() {
  2.     $('#newsForm').bootstrapValidator({
  3.             // Only disabled elements are excluded
  4.             // The invisible elements belonging to inactive tabs must be validated
  5.             excluded: [':disabled'],
  6.             trigger: 'focus blur keyup',
  7.             feedbackIcons: {
  8.                 valid: 'icon-ok',
  9.                 invalid: 'icon-remove',
  10.                 validating: 'icon-refresh'
  11.             },
  12.             fields: {
  13.                 //field data here.
  14.             }
  15.         })
  16.         // Called when a field is invalid
  17.         .on('error.field.bv', function(e, data) {
  18.             // data.element --> The field element
  19.  
  20.             var $tabPane = data.element.parents('.tab-pane'),
  21.                 tabId    = $tabPane.attr('id');
  22.  
  23.             $('a[href="#' + tabId + '"][data-toggle="tab"]')
  24.                 .parent()
  25.                 .find('i')
  26.                 .removeClass('fa-check')
  27.                 .addClass('fa-times');
  28.         })
  29.         // Called when a field is valid
  30.         .on('success.field.bv', function(e, data) {
  31.             // data.bv      --> The BootstrapValidator instance
  32.             // data.element --> The field element
  33.  
  34.             var $tabPane = data.element.parents('.tab-pane'),
  35.                 tabId    = $tabPane.attr('id'),
  36.                 $icon    = $('a[href="#' + tabId + '"][data-toggle="tab"]')
  37.                             .parent()
  38.                             .find('i')
  39.                             .removeClass('fa-check fa-times');
  40.  
  41.             // Check if the submit button is clicked
  42.             if (data.bv.getSubmitButton()) {
  43.                 // Check if all fields in tab are valid
  44.                 var isValidTab = data.bv.isValidContainer($tabPane);
  45.                 $icon.addClass(isValidTab ? 'fa-check' : 'fa-times');
  46.             }
  47.         }).on('success.form.bv', function(e) {
  48.               submit();
  49.         });
  50.     });
  51.    
  52. function submit(){
  53.       $('#newsForm').submit(function(){
  54.               $.post("enviar_datos.php", $('#newsForm').serialize(),function(data){
  55.                          if (data.success){
  56.                             $('#newsForm').find('.well').slideUp('normal', function (){
  57.                             $('#newsForm').html(data);
  58.                             });
  59.                          }else{
  60.                                     window.alert('Failed');
  61.                          }
  62.               }, 'json');
  63.               return false;
  64.    });
  65. }

help please? :3
__________________
٩(͡๏̯͡๏)۶ || ٩(͡๏̯͡๏)۶
  #5 (permalink)  
Antiguo 02/10/2014, 15:21
Avatar de Djoaq  
Fecha de Ingreso: septiembre-2012
Ubicación: Barcelona
Mensajes: 271
Antigüedad: 11 años, 7 meses
Puntos: 38
Respuesta: BootstrapValidator y envio de formas via ajax

Recuerda usar json_encode para devolver desde php !
Un saludo!

Código Javascript:
Ver original
  1. .on('success.form.bv', function(e) {
  2.             // Prevent form submission
  3.             e.preventDefault();
  4.           var datos_registro = $('.registro_alta').serialize();
  5.             $.ajax({
  6.             type : 'POST',
  7.             data : datos_registro,
  8.             url  : 'cacadevaca.php',
  9.             success: function(res){
  10.                 if(res == 0){
  11.                    //codigo si recibes si se ha hecho el insert ok
  12.                 }
  13.                 else if(res == 1){
  14.                         //codigo si falla algo si se ha hecho el insert ok        
  15.                 }
  16.  
  17.                 else{
  18.                     alert('Problemas');
  19.                 }
  20.             }
  21.             });
  22.  
  23.         });
  #6 (permalink)  
Antiguo 02/10/2014, 15:45
Avatar de Djoaq  
Fecha de Ingreso: septiembre-2012
Ubicación: Barcelona
Mensajes: 271
Antigüedad: 11 años, 7 meses
Puntos: 38
Respuesta: BootstrapValidator y envio de formas via ajax

Se me duplico el post Sorry! :D
  #7 (permalink)  
Antiguo 02/10/2014, 16:20
Avatar de JessicaTJ  
Fecha de Ingreso: enero-2007
Ubicación: 127.0.0.1
Mensajes: 472
Antigüedad: 17 años, 3 meses
Puntos: 25
Respuesta: BootstrapValidator y envio de formas via ajax

Al utilizar tu codigo Djoaq, me inserta de igual manera el formulario correctamente, pero me devuelve el alert de Problemas, hay alguna mala configuracion en el mismo disculpa?
__________________
٩(͡๏̯͡๏)۶ || ٩(͡๏̯͡๏)۶

Última edición por JessicaTJ; 02/10/2014 a las 17:11
  #8 (permalink)  
Antiguo 02/10/2014, 19:20
Avatar de Djoaq  
Fecha de Ingreso: septiembre-2012
Ubicación: Barcelona
Mensajes: 271
Antigüedad: 11 años, 7 meses
Puntos: 38
Respuesta: BootstrapValidator y envio de formas via ajax

Hola Jessica, no hay mala configuración, esto es porque tu debes hacer un echo json encode 0 en el momento que hagas el insert en bd y prepares un or die echo json encode 1 si fallará el insert.
Y si el insert no se hiciese entonces algo va mal...
En realidad mejor cambialo al revés 0 si falla que cero seria la analogia de false y 1 si se inserta que sería true, pero el código tal como está si imprimes el json desde tu php con valor 0 entrará en el success del ajax.
Un saludo!
  #9 (permalink)  
Antiguo 03/10/2014, 11:08
Avatar de JessicaTJ  
Fecha de Ingreso: enero-2007
Ubicación: 127.0.0.1
Mensajes: 472
Antigüedad: 17 años, 3 meses
Puntos: 25
Respuesta: BootstrapValidator y envio de formas via ajax

Código Javascript:
Ver original
  1. .on('success.form.bv', function(e) {
  2.             // Prevent form submission
  3.             e.preventDefault();
  4.             var datos_registro = $('#newsForm').serialize();
  5.             $.ajax({
  6.             type : 'POST',
  7.             data : datos_registro,
  8.             url  : 'enviar_datos.php',
  9.             success: function(data){
  10.                 $('.well').find('ul').slideUp('slow', function (){
  11.                 $('.well').html(data);
  12.                 })
  13.             },
  14.             error: function(data) {
  15.                 alert('Error al insertar datos.');
  16.             }
  17.         });
  18.     });

Quedo al final asi, y ahora si me da bien el resultado y envia los datos del formulario, en caso de error me regresa los datos el php por medio del atributo data ^.^

¡Mil gracias!
__________________
٩(͡๏̯͡๏)۶ || ٩(͡๏̯͡๏)۶

Última edición por JessicaTJ; 06/10/2014 a las 09:17

Etiquetas: ajax, formas
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:59.