Todo va de maravillas en Firefox, y en IE/Chrome la función no se ejecuta a partir de la línea setRequestHeader.
Probé añadiendo alerts tras las líneas importantes a ver dónde se para el código:
Código Javascript:
Ver original
function newCont(subcateg,cont_id){ alert("Func starts"); var act = new Date(); http[act] = createRequestObject(); alert("Objeto creado"); http[act].open('post', '/php/cont-backend.php',false); alert("Opened"); http[act].setRequestHeader('Content-Type','application/x-www-form-urlencoded',false); alert("Request set"); if(subcateg==0){ http[act].send("title=" + document.forms['newContForm'].elements['title'].value + "&txteditor=" + escape(tinyMCE.get('txteditor').getContent())); }else{ http[act].send("subcateg=" + subcateg + "&cont_id=" + cont_id); alert("Catalogado en " + subcateg); } document.getElementById("newContAJAX").innerHTML = http[act].responseText;
En Firefox pasa la función entera, en los otros dos se para en la línea que establece el encabezado, sin mostrar el alert("Request set");
Llevo un rato investigando y no encuentro solución.