elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Trabajando con las ramas de git (tercera parte)


+  Foro de elhacker.net
|-+  Programación
| |-+  Desarrollo Web (Moderador: #!drvy)
| | |-+  Un formulario dentro de otro formulario
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Un formulario dentro de otro formulario  (Leído 4,420 veces)
OssoH


Desconectado Desconectado

Mensajes: 911


Ver Perfil
Un formulario dentro de otro formulario
« en: 11 Junio 2014, 22:48 pm »

Quiero tener un formulario y en la mitad de este agregar otro formulario para subir imagenes por medio de jquery de forma que vaya mostrando las imagenes que voy subiendo sin necesidad de recargar la pagina.
Luego al final tendre un boton donde guardaré todos los datos.
Se que no se puede tener un form dentro de otro, pero entonces en este caso ¿como hago para tener un form enctype=multiplar/form-data dentro de un form method=post action=...?.

Por ejemplo :
Código
  1. <FORM action="http://algunsitio.com/prog/usuarionuevo" method="post">
  2.    <P>
  3.    Nombre: <INPUT type="text" name="nombre"><BR>
  4.    Apellido: <INPUT type="text" name="apellido"><BR>
  5.    email: <INPUT type="text" name="email"><BR>
  6.  
  7. <FORM action="http://servidor.com/cgi/procesar"
  8.    enctype="multipart/form-data"
  9.    method="post">
  10. <P>
  11. ¿Cómo se llama usted? <INPUT type="text" name="nombre_del_remitente">
  12. ¿Qué ficheros desea enviar? <INPUT type="file" name="nombre_de_los_ficheros">
  13. </P>
  14. </FORM>
  15.  
  16.    <INPUT type="radio" name="sexo" value="Varón"> Varón<BR>
  17.    <INPUT type="radio" name="sexo" value="Mujer"> Mujer<BR>
  18.    <BUTTON name="enviar" value="enviar" type="submit">
  19.    </P>
  20. </FORM>
  21.  
  22.  


¿alguna idea?
Gracias


« Última modificación: 12 Junio 2014, 00:41 am por #!drvy » En línea

JorgeEMX
Ex-Staff
*
Desconectado Desconectado

Mensajes: 2.615



Ver Perfil WWW
Re: Un formulario dentro de otro formulario
« Respuesta #1 en: 11 Junio 2014, 22:58 pm »

1) Usa un iframe para tus archivos sin AJAX.
2) Usa AJAX para enviar tus archivos, pero sólo con AJAX sin usar Jquery.

Cualquier que sea el caso, ya hay bastantes ejemplos por ahí (mira Google).


En línea

OssoH


Desconectado Desconectado

Mensajes: 911


Ver Perfil
Re: Un formulario dentro de otro formulario
« Respuesta #2 en: 11 Junio 2014, 23:00 pm »

si, voy a intentar subir los archivos por ajax. Sera lo mejor.
Gracias



Por curiosidad porque me recomiendas usar ajax y no Jquery para la subida de imagenes?

Mod: No hacer doble post.
« Última modificación: 12 Junio 2014, 00:40 am por #!drvy » En línea

JorgeEMX
Ex-Staff
*
Desconectado Desconectado

Mensajes: 2.615



Ver Perfil WWW
Re: Un formulario dentro de otro formulario
« Respuesta #3 en: 11 Junio 2014, 23:22 pm »

Jquery no permite subir archivos, no de forma predeterminada.. se puede hacer con AJAX pero debes usar JS y llamar al objeto XMLHttpRequest.
En línea

OssoH


Desconectado Desconectado

Mensajes: 911


Ver Perfil
Re: Un formulario dentro de otro formulario
« Respuesta #4 en: 11 Junio 2014, 23:25 pm »

Gracias. Voy a investigar más sobre este tema.



Pongo el codigo que he encontrado por si alguien le sirve de tanta ayuda como a mi. Muchas gracias por tus consejos y tu rapidez.

Código
  1. <input type="file" id="uploadfile" name="uploadfile" />
  2. <input type="button" value="upload" onclick="upload()" />
  3.  
  4.  
  5. <script>
  6.   var client = new XMLHttpRequest();
  7.  
  8.   function upload()
  9.   {
  10.      var file = document.getElementById("uploadfile");
  11.  
  12.      /* Create a FormData instance */
  13.      var formData = new FormData();
  14.      /* Add the file */
  15.      formData.append("upload", file.files[0]);
  16.  
  17.      client.open("post", "/upload", true);
  18.      client.setRequestHeader("Content-Type", "multipart/form-data");
  19.      client.send(formData);  /* Send to server */
  20.   }
  21.  
  22.   /* Check the response status */  
  23.   client.onreadystatechange = function()
  24.   {
  25.      if (client.readyState == 4 && client.status == 200)
  26.      {
  27.         alert(client.statusText);
  28.      }
  29.   }
  30. </script>
  31.  

Mod: No hacer doble post.
« Última modificación: 12 Junio 2014, 00:41 am por #!drvy » En línea

OssoH


Desconectado Desconectado

Mensajes: 911


Ver Perfil
Re: Un formulario dentro de otro formulario
« Respuesta #5 en: 12 Junio 2014, 11:42 am »

Una pregunta que tiene relación con lo anterior

Código
  1. <input type="file" style="display:none;" id="fileUploadEle" name="fileUploadEle"/>
  2.        <input type="button" value="Agregar fotos" class="btn-upload-button" />
  3.  


Código
  1. $(".btn-upload-button").click(function(event){
  2. $("#fileUploadEle").click();
  3. alert('s');
  4. event.preventDefault();
  5. });
  6.  

Quiero que cuando pulse el boton primero se ejecute $("#fileUploadEle").click(); de forma que se abra el archivo que quiero seleccionar para subir y luego el mensaje de alert('s'). Es decir de forma sincrona. Ahora me lo hace asincrona mostrandome el mensaje alert('s') sin haber llegado a seleccionar un fichero.

Gracias.
« Última modificación: 12 Junio 2014, 12:10 pm por #!drvy » En línea

#!drvy
Moderador
***
Desconectado Desconectado

Mensajes: 5.855



Ver Perfil WWW
Re: Un formulario dentro de otro formulario
« Respuesta #6 en: 12 Junio 2014, 12:09 pm »

Lo que buscas no es posible ya que javascript no maneja los diálogos internos que vaya a mostrar el navegador. Puedes hacer un workaround que es añadir un handler que salte cuando el input cambie de valor.

Código
  1. $('.btn-upload-button').click(function(event){
  2.  
  3.   $('#fileUploadEle').click().on('change',function(){
  4.      alert(this.value); // alert('s')
  5.      this.off('change'); // Quitar handler
  6.   });
  7.  
  8.   event.preventDefault();
  9.  
  10. });

Pero si el usuario no llega a seleccionar ningún archivo, no salta.

Saludos
« Última modificación: 12 Junio 2014, 12:12 pm por #!drvy » En línea

OssoH


Desconectado Desconectado

Mensajes: 911


Ver Perfil
Re: Un formulario dentro de otro formulario
« Respuesta #7 en: 12 Junio 2014, 12:32 pm »

Si es lo que necesitaba. muchas gracias!!!!  ;-) ;-) ;-) ;-) eres un crack!!

En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines