Comunidad de diseño web y desarrollo en internet online

Usar this con JqueryForm

Citar            
MensajeEscrito el 23 Dic 2014 03:09 am
Hola!, estoy utilizando el plugin JqueryForm para hacer un sistema de comentarios para imagenes que se cargan dinamicamente... cada vez que alguien agrega una imagen se puede comentar la misma (tipo facebook), el tema es que el id del form que se va agregando es el mismo para todos... y aun cuando fuera distinto, la funcion no podria cambiar para cada Form... por lo que intente utilizar this pero no me ha funcionado... espero que alguien me pueda ayudar. Aqui el codigo:

Código HTML :

 
<form method="post" enctype="multipart/form-data" id="comentar">
            <textarea id="textarea_comentario" class="" name="comentario" placeholder="Escribe un comentario..."></textarea>
</form>


Código Javascript :

 
jQuery("body").on("keypress", "#textarea_comentario", function(e){
                    var code = e.keyCode || e.which;
                     if(code == 13) {
                        jQuery("#textarea_comentario").ajaxSubmit({
                            dataType:"json",
                            url:"comentar.php",
                            beforeSend: function() {
                                jQuery(this).attr('disabled','disabled');
                            },
                            complete: function() {
                                jQuery(this).removeAttr("disabled");
                            }
                        });                  
                     }

Por dunga007

1 de clabLevel



 

firefox
Citar            
MensajeEscrito el 23 Dic 2014 05:18 pm
el detalle entiendo yo no es el form, si no donde vas a cargar los comentarios? se guardan en una base de datos y donde lo muestras en un div? ampliame mas como funciona ese sistema de comentarios

salu2

Por erny_2004

Claber

166 de clabLevel



Genero:Masculino  

Morelia, Michoacan

firefox
Citar            
MensajeEscrito el 23 Dic 2014 10:01 pm
el this se pierde cuando entras al primer function(e) {
}

entonces enseguida del function(e) { }

coloca algo como

var self = this;

Entonces cada vez que necesites aplicar un efecto o algo al boton, div, etc activador, utilizarás "$(self)"

Saludos.

Por elporfirio

Claber

652 de clabLevel

1 tutorial

Genero:Masculino  

FullStack Web Developer

chrome
Citar            
MensajeEscrito el 24 Dic 2014 10:58 pm

elporfirio escribió:

el this se pierde cuando entras al primer function(e) {
}

entonces enseguida del function(e) { }

coloca algo como

var self = this;

Entonces cada vez que necesites aplicar un efecto o algo al boton, div, etc activador, utilizarás "$(self)"

Saludos.


Hola a ambos!, te cuento porfirio que me ha servido muchisimo la ayuda que me has dado, solo tengo un ultimo problema y es que cuando se manda el formulario si tengo puesto:

Código Javascript :

jQuery(".comentar").ajaxSubmit({


Se manda lo que este puesto en el primer formulario del DOM. Y si pongo:

Código Javascript :

jQuery(this).parent().ajaxSubmit({


Se manda el formulario pero vacio, es como que no recoge los datos del textarea. Espero me puedan ayudar. Gracias!!!

Por dunga007

1 de clabLevel



 

firefox
Citar            
MensajeEscrito el 26 Dic 2014 04:12 am
El formulario se guarda en un array.. no se por que ni me he puesto a investigar.. pero por ejemplo cuando quieres hacer un reset haces algo como

form[0].reset(); en vez de solo form.reset();

Prueba eso a ver que tal va. Es que ya estamos hablando de temas como traversing y cosas asi ;) saludos y Feliz Navidad.

Por elporfirio

Claber

652 de clabLevel

1 tutorial

Genero:Masculino  

FullStack Web Developer

chrome

 

Cristalab BabyBlue v4 + V4 © 2011 Cristalab
Powered by ClabEngines v4, HTML5, love and ponies.