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
var formulario=window.document.querySelector('#book > article > form'); if(formulario!==null){ console.log(formulario); // funciona bn en los dos chrome y firefox eso significa que si lo esta seleccionando }
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
var formulario=window.document.querySelector('#book > article > form'); if(formulario!==null){ formulario.addEventListener('submit', function(ev){ ev.preventDefault(); //console.log(formulario); unploadAjax2(formulario, '../XXXX/XXXX', windoProgress, 1); // llama a la funcion que envia los datos }); } function unploadAjax2(tag, url, progreso, option){ var formdata=new FormData(tag), xhr=XMLHttpRequest(); xhr.upload.addEventListener('progress', progreso, false); xhr.open('POST', url, true); xhr.onreadystatechange = function(){ if(this.readyState===4){ if(option===1){ $('#book > article > form')[0].reset(); //resetea el formulario para dejarlo limpio de nuevo } } } xhr.send(formdata); // envia los datos }
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