teacher students pez juegos judo games dojo

students - dojo karate do



Problemas de HTML interno en DOJO durante la creación, seleccione y opciones? (1)

Al crear una opción de selección en dojo

dojo.byId("it1").add(dojo.create("option", { value:''1'',innerHTML:''Iteration 1'' }));

Recibí un error de argumento Inválido en IE8, el resto de los navegadores funciona bien.


Esto se debe a que los navegadores han implementado una especie de mecanismo de conmutación por error. O tal vez incluso los estándares han cambiado, no estoy seguro de cuál es. El hecho es que, en los navegadores más antiguos, el elemento de option tenía una implementación extraña. Considere la siguiente creación programática de una nueva option DOM:

text=''Iteration 1''; value=1; defaultSelected = false; selected=false; document.getElementById(''myselect'').options.add( new Option(text, value, defaultSelected ,selected) );

Ver http://msdn.microsoft.com/en-us/library/ie/dd757810(v=vs.85).aspx

La API también tiene argumentos, lo que indica si la opción está seleccionada o no. Pero la parte interesante aquí es el text parámetro

Se traduce aproximadamente en

var opt = document.createElement(''OPTION''); opt.text = text; opt.value = value;

Encontrará que las selecciones creadas mediante programación (utilizando el método innerHTML ) no funcionarán correctamente en IE antes e incluyendo IE8. El elemento simplemente no está conectado a su formulario principal y, por lo tanto, no se envía al servidor en el envío.