¿Por qué javascript funciona en Firefox y no en MSIE?

jordi
08 de Junio del 2005
Hola,

Anteriormente pregunté sobre cómo cambiar el contenido de un select dinámicamente, y lo he conseguido gracias a los apuntes de un libro de O'Reilly.

Ahora el problema es que el codigo que uso, funciona correctamente en Firefox y no en MSIE...

Este es el código que me falla, en el momento de crear los option del select:

function cambiarDominioError(chooser)
{
var selectDominio = chooser.form.elements["field3"];
selectDominio.options.length = 0;
var seleccion = chooser.options[chooser.selectedIndex].value;
var db = dominios[seleccion];
if (seleccion != "")
for (var i = 0; i < db.length; i++)
{
if (db[i].value == '<%= dominioAnterior %>')
{
selectDominio.options[i] = new Option(db[i].text, db[i].value, "selected");
}
else
{
selectDominio.options[i] = new Option(db[i].text, db[i].value);
}
}
}

Lo que hago es leer los valores de una hashmap con tuplas {text,value} y las inserto en un new option. El problema es que en el momento en el que detecto la option que quiero que aparezca como seleccionada, la marco como "selected". Firefox lo entiende, pero MSIE no, ¿alguien sabe por qué?

Muchas gracias!!!


jordi

jordi
08 de Junio del 2005
Ya lo he conseguido...

La sintáxis correcta es:

var newOpt = new Option("text", "value", isDefaultSelectedFlag, isSelectedFlag);

Con lo que los dos últimos parámetros son booleanos, o en su defecto flags definidos. Los he cambiado a true (defaultSelecte, selected) y ha funcionado...

saludos,

Jordi