PDA

Ver la Versión Completa : Pregunta sobre JavaScript


cirilungol
10-10-2006, 10:37:57
Como puedo comparar varios elementos de un html.

por ejemplo he creado tres 9 inputs con id=cantid0, cantid1 asi hasta cantid22.

El tema esta enque no se como comparar dos objetos diferentes en el script.
como if(cantid0==cantid1){}.

¿Me podeis echar un cable?, gracias.

Ñuño Martínez
10-10-2006, 10:47:41
Supongo que lo que quieres es comparar el valor contenido en el control (input). Casi todos los objetos de formulario tienen una propiedad denominada "value" que contiene el valor introducido en el mismo (Nunca lo habrías imaginado, ¿a que no? :D). Este valor es un "string", así que tenlo en cuenta:


...<script>
if (input1.value == "agapito") {
alert ("Bienvenido, señor Agapito");
}
else {
alert ("¿Y usted quién es?");
}
</script>

cirilungol
10-10-2006, 10:54:43
Gracias por el script, pero lo que realmente necesito es comparar dos o mas inputs.

como he dicho antes, if (obj.id==OTRO.id)

Al poner otro me refiero a otro input, ya que con obj estoy en el actual, y quiero compararlo por ejemplo con otro obj creado.


gracias por la atención.

kayetano
10-10-2006, 11:34:25
hola

Considero que los inputs tienen una numeración consecutiva

<script>
for (x=0; obj2 = document.getElementById( 'cantid'+(x+1) ); x++ ) {
obj1 = document.getElementById( 'cantid'+x );
if( obj1.value != obj2.value ) {
// Uno de los valores es diferente
}
}
</script>

Con este script genero la siguiente secuencia:
if( cantid0!=cantid1 )
if( cantid1!=cantid2 )
...
if( cantidx!= cantidx+1 )

Ahora lo que no me queda claro es si quieres comparar los valores o los ides.
Espero que sea esto lo que buscabas, es muy posible que haya algún error de sintaxis.

cirilungol
10-10-2006, 12:00:40
En principio es muy buena idea la que me has mandado, la voy a provar.
Ahora lo que quiero comparar son los valores.

cantid0 cantid01 cantid02
cantid1 cantid11 cantid12
cantid2 cantid21 cantid22

estos son los elementos creados y sus ids, son inputs, con lo cual lo que quiero hacer es comparar cantid1 con cantid0. como cantid2 con cantid1 y cantid0. Ese es mi dilema.

Esa es mi finalidad, controlar los inputs y que no seponga cantidades inapropiadas.

de todas maneras gracias por la ayuda.