Ver Mensaje Individual
  #1 (permalink)  
Antiguo 22/11/2011, 16:00
Avatar de zalito12
zalito12
 
Fecha de Ingreso: noviembre-2011
Ubicación: Coruña, España
Mensajes: 430
Antigüedad: 13 años
Puntos: 67
onChange en select problema con IE

He hecho un formulario que va perfecto en FireFox pero lo he probado en el explorer y no me funcioana.
1.Tengo unos slect dinámicos que en explorer no me hacen nada. He mirado todo lo que hay en la web, castellano e ingles y no me ha servido ninguna de las supuestas soluciones.
2. Tengo un boton para calcular el precio que funciona con innerHTML y tampoco me funciona, de hecho los select tmabien utilizan innerHTML.

Os dejo el código:
1.Primer select, las opciones son cargadas desde una base de datos:
Código PHP:
       <select name='catalogos1' id='catalogos1' onChange='cargaContenido(this.id)'><option value='0'>Elija un catálogo</option><option value='1'>Catálogo 1</option><option value='2'>Catálogo 2</option><option value='3'>Catálogo 3</option><option value='4'>Catálogo 4</option><option value='5'>Catálogo 5</option><option value='6'>Catálogo 6</option><option value='7'>Catálogo 7</option><option value='8'>Catálogo 8</option><option value='9'>Catálogo 9</option></select
El boton de calcular el precio llama a una función: calcular()
2.función calcular
Código PHP:
function calcular()
{
   var 
Destinodocument.getElementById("precio"); //el id del lugar donde pondré el enlace
   
var listaAIds= new Array();//Array donde almacenare los ids de las piezas
   
for (var i=0;i<posicionCampo;i++)//Bucle para guardar los ids en el array
   
{  
      var 
selectOp=document.getElementById("piezas"+(i+1));//Cojo el select objetivo, +1 porque empiezo en 0
      
if(selectOp != null//Compruebo que exista   
      
{
        var 
opcionX=selectOp.options[selectOp.selectedIndex].value;//Cojo el valor del select
        
listaAIds[i]=opcionX;//meto en el array el id
      
}
    }
    var 
listaSIds listaAIds.toString();//Paso la lista array ids a una lista string de ids
      
ajax=nuevoAjax();
      
ajax.open("GET","precio.php?numero="+posicionCampo+"&lista="+listaSIdstrue);//paso el numero de filas y el array de piezas
      
ajax.onreadystatechange=function() {
          if (
ajax.readyState==4) {
            
Destino.innerHTML ajax.responseText;
          }
      }
      
ajax.send(null);    

Esta última es un poco complicada, hay un for para meter todos los precios en un array y luego paso el array a string para pasarlo por GET a un PHP pero el IE me dice: error desconocido en tiempo de ejecución. Línea X.
Siendo X el número de la línea que coincide con: Destino.innerHTML = ajax.responseText;

En FF corre perfecto recuerden y muchas gracias.

PD. Odio Internet Explorer