Ver Mensaje Individual
  #1 (permalink)  
Antiguo 13/05/2012, 07:28
GuillermoM
 
Fecha de Ingreso: abril-2011
Ubicación: España, Mdrid
Mensajes: 89
Antigüedad: 13 años, 1 mes
Puntos: 1
[Novato]Problema con extraño comportamiento de un bucle con un slect multiple

Hola a todos tengo esta función:

Código Javascript:
Ver original
  1. function obtenerdest(){
  2.                 var miIFrame = document.getElementById("usuarios");
  3.                 selected = new Array();
  4.                 for (var i = 0; i < miIFrame.contentWindow.document.getElementById("usr").options.length; i++)
  5.                 if (miIFrame.contentWindow.document.getElementById("usr").options[i].selected)
  6.                 miIFrame.contentWindow.document.getElementById("usr").options[i].value;
  7.                
  8.             }

Obtiene los datos de un select multiple que tengo en un iframe, luego los introduce en un bucle y recorre todos los datos.
Bien, pues cuando hago esto:

Código Javascript:
Ver original
  1. function obtenerdest(){
  2.                 var miIFrame = document.getElementById("usuarios");
  3.                 selected = new Array();
  4.                 for (var i = 0; i < miIFrame.contentWindow.document.getElementById("usr").options.length; i++)
  5.                 if (miIFrame.contentWindow.document.getElementById("usr").options[i].selected)
  6.                 alert(miIFrame.contentWindow.document.getElementById("usr").options[i].value);
  7.                
  8.             }

Me salen correctamente todas las ventanas alert una detras de otra con las opciones que he sleccionado en el combobox multiple.
Pero cuando quiero hacer esto:

Código Javascript:
Ver original
  1. function obtenerdest(){
  2.                 var miIFrame = document.getElementById("usuarios");
  3.                 selected = new Array();
  4.                 for (var i = 0; i < miIFrame.contentWindow.document.getElementById("usr").options.length; i++)
  5.                 if (miIFrame.contentWindow.document.getElementById("usr").options[i].selected)
  6.                 document.write(miIFrame.contentWindow.document.getElementById("usr").options[i].value);
  7.                
  8.             }

Únicamente imprime el primer dato que he seleccionado... ¿Por qué sucede esto?

Por otro lado me gustaría que los datos obtenidos en este bucle pasarlos a PHP. ¿Cómo más o menos se pordría hacer? Me imagino que se podría hacer con
Código Javascript:
Ver original
  1. array.join('-');
Para pasarlo a una variable de PHP en forma de cadena de texto. ¿Ideas?

Un saludo y gracias de antemano.