Ver Mensaje Individual
  #1 (permalink)  
Antiguo 10/07/2013, 11:04
Avatar de sonickseven
sonickseven
 
Fecha de Ingreso: diciembre-2012
Ubicación: bogota
Mensajes: 404
Antigüedad: 12 años
Puntos: 2
FormData me funciona bn en firefox pero no en Chrome

HOla chicos que tal como estan :D ... Tengo un problema y ya me tiene mas cansado que !!!

Intento pasarle a una variables los datos que ahy en un form con javascript y pues lo hago con FormData pero el problema es que con Chrome no me esta funcionando!! No se por que ya que pues el form esta en una ventana emergente (window.open()) y para hacer referncia a el hago asi:

Código Javascript:
Ver original
  1. var formulario=window.document.querySelector('#book > article > form');
  2. if(formulario!==null){
  3.  console.log(formulario); // funciona bn en los dos chrome y firefox  eso significa que si lo esta seleccionando
  4. }

pero cuando voy a utilizar la funcion para coger los valores de los inputs incluyendo un file que tengo (y que se puede hacer comprobado con otro formulario) pues en firefox envia lso datos correctamente pero en chrome me sale lo siguiente:

Uncaught TypeError: DOM object constructor cannot be called as a function. striker.js:442
unploadAjax2 striker.js:442
(anonymous function)

aqui el codigo completo
Código Javascript:
Ver original
  1. var formulario=window.document.querySelector('#book > article > form');
  2.     if(formulario!==null){
  3.         formulario.addEventListener('submit', function(ev){
  4.         ev.preventDefault();
  5.         //console.log(formulario);
  6.         unploadAjax2(formulario, '../XXXX/XXXX', windoProgress, 1); // llama a la funcion que envia los datos
  7.     });
  8.     }
  9.  
  10. function unploadAjax2(tag, url, progreso, option){
  11.     var formdata=new FormData(tag), xhr=XMLHttpRequest();
  12.     xhr.upload.addEventListener('progress', progreso, false);
  13.     xhr.open('POST', url, true);
  14.     xhr.onreadystatechange = function(){ if(this.readyState===4){
  15.         if(option===1){
  16.            $('#book > article > form')[0].reset(); //resetea el formulario para dejarlo limpio de nuevo
  17.         }
  18.     }
  19.     }
  20.     xhr.send(formdata); // envia los datos
  21. }

si alguien sabe por que solo funciona en Firefox y no en Chrome le agradeceria. No he probado en opera ya que no lo tengo instalado y en linux debian Wheezy me da miedo la ultima vez me toco instalar el SO