Cita:
Iniciado por Geri Muchas gracias por responer.
De la manera que me has dicho no coge los valores del LIST que vienen del formulario ... de la manera que me has dicho me compara el nombre "form2.inmu.value" pero no el value que viene del formulario.
Bueno, lo primero ¿que te compara los nombres?¿?¿?, ¿seguro que has puesto las comillas tal y como yo te lo he puesto?, porque al aplicarle el eval lo convierte en un objeto y el .value devuelve el valor del mismo. Lo he probado y a mi si que me coje el valor de la lista.
De todas formas igual es que te he entendido mal, cuando dices lista te refieres a un elemento de este tipo no?:
Código:
<select name="lista1" size="3">
<option value="1">1</option>
<option value="2">2</option>
<option value="3">3</option>
</select>
Lo que quieres hacer es comparar que no hayan seleccionado la misma opcion en ninguna de las listas ¿no?, este codigo compara que teniendo 3 listas (para 6 cambia el 4 por un 7) llamadas lista1, lista2 y lista3 (en tu caso cambia lista por inmu) si han seleccionado algo en una lista pues que ese mismo valor no este seleccionado en otra de las listas:
Código:
for(var i=1; i<4; i++){
var valor1 = document.getElementById("lista"+i).value;
//esto seria lo mismo
//var valor1= eval("formulario.lista"+i).value;
//si no hay ninguno seleccionado en esta lista pues no lo comparo
if(valor1 != ""){
for(var j=i+1; j<4; j++){
var valor2 = document.getElementById("lista"+j).value;
//esto seria lo mismo
//var valor2 = eval("formulario.lista"+j).value;
alert("¿ "+valor1+ "es igual a "+valor2+" ?" +(valor1 == valor2));
if(valor1 == valor2){
alert("Error los seleccionados son los mismos");
return false;
}
}
}
}
Lo otro que se me ha ocurrido que pudieras querer hacer es mirar que las opciones contenidas en una lista no esten tambien repetidas dentro de la otra lista, si es esto pues me dices porque el codigo se complica algo mas.
Espero haberte entendido bien lo que querias hacer, y si no .. pues como las olimpiadas: LO IMPORTANTE ES PARTICIPAR