Foros del Web » Programando para Internet » Javascript »

Añadir variable a un elemento de formulario

Estas en el tema de Añadir variable a un elemento de formulario en el foro de Javascript en Foros del Web. Hola a todos/as Estoy haciendo un script en javascript que verifica si unos valores de un LISTBOX son iguales al de los otros LISTBOX Los ...
  #1 (permalink)  
Antiguo 08/08/2004, 18:41
 
Fecha de Ingreso: noviembre-2003
Ubicación: Torrelodones
Mensajes: 134
Antigüedad: 20 años, 5 meses
Puntos: 0
Añadir variable a un elemento de formulario

Hola a todos/as

Estoy haciendo un script en javascript que verifica si unos valores de un LISTBOX son iguales al de los otros LISTBOX
Los LISTBOX se llaman inmu1,inmu2,inmu3... y asi hasta inmu6.Cuando se pulsa el boton Enviar quiero que me mire si alguno de estos valores estan repetidos. Hice lo siguiente

var x
var y
for(x=1; x<7 ; x++){
for(y=1; y<7 ; y++){

if(form2.inmu(AQUI ESTA EL PROBLEMA).value==form2.inmu(Y AQUI).value){
alert("Error");
return false;
}
}
}

Mi duda es como puedo hacer para que al lado de "inmu" aparezca el valor de x o de y, es decir, que quedara asi form2.inmu1.value...form2.inmu2.value... form2.inmu3.value... y asi con todos los valores de "x" y de "y" conforme va recorriendo los bucles FOR. Espero que me hayan entendido y me puedan ayudar

Muchas Gracias
Un saludo
__________________
Conoce gente nueva, haz amigos, aplicaciones para moviles, juegos online,... Y todo gratis!!! :si: www.cuelate.com
  #2 (permalink)  
Antiguo 09/08/2004, 01:39
 
Fecha de Ingreso: mayo-2004
Mensajes: 75
Antigüedad: 20 años
Puntos: 2
Cambia esto:

if(form2.inmu(AQUI ESTA EL PROBLEMA).value==form2.inmu(Y AQUI).value)

Por esto otro

if(eval("form2.inmu"+x).value == eval("form2.inmu"+y).value)
  #3 (permalink)  
Antiguo 09/08/2004, 03:25
 
Fecha de Ingreso: noviembre-2003
Ubicación: Torrelodones
Mensajes: 134
Antigüedad: 20 años, 5 meses
Puntos: 0
Muchas gracias por responer.

He probado como me dijiste pero no funciona. De la manera que me has dicho no coge los valores del LIST que vienen del formulario. Yo lo que quiero es que compare los valores de cada LIST para ver si son los mismos y de la manera que me has dicho me compara el nombre "form2.inmu.value" pero no el value que viene del formulario. Yo no tengo mucha idea de javascript y a lo mejor lo que quiero hacer es imposible.

Muchas gracias
__________________
Conoce gente nueva, haz amigos, aplicaciones para moviles, juegos online,... Y todo gratis!!! :si: www.cuelate.com
  #4 (permalink)  
Antiguo 09/08/2004, 06:39
 
Fecha de Ingreso: mayo-2004
Mensajes: 75
Antigüedad: 20 años
Puntos: 2

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
  #5 (permalink)  
Antiguo 09/08/2004, 07:35
 
Fecha de Ingreso: noviembre-2003
Ubicación: Torrelodones
Mensajes: 134
Antigüedad: 20 años, 5 meses
Puntos: 0

Muchas gracias por tu ayuda, ya he probado tu ejemplo y es exactamente lo que queria. Ahora voy a adaptarlo a a mis List, espero no ser tan nulo y joderlo de nuevo todo, jejeje

Si me surge alguna que otra duda volvere a dar el coñazo por aqui

De nuevo muchas gracias
__________________
Conoce gente nueva, haz amigos, aplicaciones para moviles, juegos online,... Y todo gratis!!! :si: www.cuelate.com
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 13:09.