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

varios forms mismo js

Estas en el tema de varios forms mismo js en el foro de Frameworks JS en Foros del Web. Wenas,, Estoy tratando con jquery de tener un mismo js con varios forms pero se me complica... Les muestro el codigo: @import url("http://static.forosdelweb.com/clientscript/vbulletin_css/geshi.css"); Código Javascript ...
  #1 (permalink)  
Antiguo 04/02/2012, 15:19
Avatar de Maganius  
Fecha de Ingreso: septiembre-2010
Mensajes: 310
Antigüedad: 14 años, 1 mes
Puntos: 10
varios forms mismo js

Wenas,,

Estoy tratando con jquery de tener un mismo js con varios forms pero se me complica...

Les muestro el codigo:

Código Javascript:
Ver original
  1. $(document).ready(function(){
  2.       $('.envio').submit(function(evento){
  3.           $("#cargando").css("display", "block");
  4.               $.ajax({
  5.                         type: "POST",
  6.                         url: $(this).attr('action'),
  7.                         data: $(this).serialize(),
  8.                         success: function(datos){
  9.                            $("#cargaMascota").html("Se guardaron los datos: " + datos);
  10.                          $("#cargando").css("display", "none");
  11.                         }
  12.                 });
  13.               return false;
  14.        });
  15.     });
  16.  
  17.  
  18. function newform() {
  19.         var div = document.createElement("div");
  20.         div.innerHTML = document.getElementById("mascota").innerHTML;
  21.         document.getElementById("new_mascota").appendChild(div);
  22.         }

Lo primero es un codigo jquery para hacer ajax.
El sgundo para crear otro formulario identico al que ya tengo dentro del div mascota.
y luego lo coloco dentro del div new_mascota.

el problema es como hacer funcionar el ajax con los otros formularios que se van generando con la funcion newform que se ejecuta desde un boton.

Alguien tendra alguna idea?
  #2 (permalink)  
Antiguo 04/02/2012, 19:44
Avatar de chicohot20  
Fecha de Ingreso: mayo-2009
Mensajes: 388
Antigüedad: 15 años, 5 meses
Puntos: 43
Respuesta: varios forms mismo js

Código HTML:
Ver original
  1. <!DOCTYPE HTML>
  2. <title>Hola</title>
  3. <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js" type="text/javascript"></script>
  4. <script type="text/javascript">
  5. $(function(){
  6.     $("#new").click(function(){ newform() });
  7.     $("#mascota form").submit(function(){
  8.         alert($(this).serialize());
  9.         return false;
  10.     })
  11. })
  12. function newform() {
  13.     var div = document.createElement("div");
  14.     div.innerHTML = document.getElementById("mascota").innerHTML;
  15.     document.getElementById("new_mascota").appendChild(div);
  16.     $("form",div).submit(function(){
  17.         alert($(this).serialize());
  18.         return false;
  19.     })
  20. }
  21. form{border: 1px solid #555; width: 300px; padding: 8px;}
  22. #mascota{padding: 8px; background: #DDD;}
  23. #new_mascota{padding: 8px; background: #AAA;}
  24. h4{margin: 0px;}
  25. </head>
  26. <button id="new">New Form</button>
  27. <div id="mascota">
  28.     <h4>Mascota</h4>
  29.     <form action=""><input type="text" name="text"/><input type="submit" value="Enviar"/></form>
  30. </div>
  31. <div id="new_mascota">
  32.     <h4>New Mascota</h4>
  33. </div>
  34. </div>
  35. </body>
  36. </html>
  #3 (permalink)  
Antiguo 04/02/2012, 19:51
Avatar de Maganius  
Fecha de Ingreso: septiembre-2010
Mensajes: 310
Antigüedad: 14 años, 1 mes
Puntos: 10
Respuesta: varios forms mismo js

Muchas gracias chicohot20 sos un capo!!!!!!!

Me salvastes el formulario de tenerlo que hacer con 1 solo boton!!.

gracias
  #4 (permalink)  
Antiguo 04/02/2012, 20:01
Avatar de Maganius  
Fecha de Ingreso: septiembre-2010
Mensajes: 310
Antigüedad: 14 años, 1 mes
Puntos: 10
Respuesta: varios forms mismo js

chicohot20

Mirando tu código y entendiendo lo que hicistes pude sacar algo mas sencillo lo pondre por si alguien le pasa lo mismo lo arregle así:

Código Javascript:
Ver original
  1. $('#envio')[I][B][COLOR="Red"].live("submit"[/COLOR][/B][/I],function(evento){
  2.           $("#cargando").css("display", "block");
  3.               $.ajax({
  4.                         type: "POST",
  5.                         url: $(this).attr('action'),
  6.                         data: $(this).serialize(),
  7.                         success: function(datos){
  8.                          $("#cargaMascota").html(datos);
  9.                          $("#cargando").css("display", "none");
  10.                         }
  11.                 });
  12.               alert($(this).serialize());
  13.               return false;
  14.        });

pinté en rojo lo que cambie. de esta forma cuando el DOM se actualize, "cuando agregue el siguiente formulario" con la función live de jquery funciona.
  #5 (permalink)  
Antiguo 04/02/2012, 20:10
Avatar de Maganius  
Fecha de Ingreso: septiembre-2010
Mensajes: 310
Antigüedad: 14 años, 1 mes
Puntos: 10
Respuesta: varios forms mismo js

Tengo otra consulta sobre el mismo tema, de que manera podria desabilitar el boton enviar del formulario que envie?
  #6 (permalink)  
Antiguo 05/02/2012, 19:08
Avatar de chicohot20  
Fecha de Ingreso: mayo-2009
Mensajes: 388
Antigüedad: 15 años, 5 meses
Puntos: 43
Respuesta: varios forms mismo js

Código HTML:
Ver original
  1. <!DOCTYPE HTML>
  2. <title>Hola</title>
  3. <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js" type="text/javascript"></script>
  4. <script type="text/javascript">
  5. $(function(){
  6.     $("form").submit(function(){
  7.         $("input[type=submit]",this).prop("disabled",true);
  8.         return false;
  9.     });
  10. })
  11. </head>
  12. <form action="">
  13. <input type="submit" value="Enviar"/>
  14. </form>
  15. </div>
  16. </div>
  17. </body>
  18. </html>

Etiquetas: ajax, forms, formulario, funcion, html, js, botones
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 01:08.