xmlHttpRequest + Form = Aaaarrrggg!
Mucho cuidado con modificar el contenido de un formulario desde xmlHttpRequest. Ayer perdí casi 4 horas tratando de investigar por qué no funcionaba usandolo desde Firefox, Netscape y Mozilla. Explorer no me daba problemas.
El error era “document.formulario has no properties” (o algo similar). Pero el formulario ahi estaba!!!, y los campos actualizados estaban perfectamente sentados dentro de <form> y </form>... que es lo que pasa!!??
Bueno, pues resulta que el <form> estaba definido entre un <table> y el primer <tr>, cosa que no es correcta según el DOM. Yo tenía esa costumbre (maña?) para evitar esos extraños espacios en blanco antes y después del formulario.
Por que entonces al cargar la página todo funcionaba bien, pero en el segundo “click” todo se venía abajo??
Bueno, al cargar la página con estructura “no-estandar”, el browser lo interpretaba como un documento html normal (mal estructurado), y por ende el comportamiento era adecuado a ese esquema. Pero el DOM no perdona, y al modificar la estructura del formulario, los campos se llenaban en un formulario “inexistente” para el DOM. Por lo tanto al decirle “document.formulario.tal.cosa()” el sistema me decía… “cual formulario??, aqui no hay nada!”.
Moralejas.-
a) Escribe html válido.
b) Si todo parece estar bien, pero no funciona… date una vuelta por el validador de tu confianza. La estructura (mal formada) puede darte pistas acerca de lo que está fallando.
c) Golpear el escritorio no ayuda en nada, por el contrario… puede empeorar las cosas.
Saludos!!!
