Foros del Web » Programando para Internet » Javascript »

problemas con el NAME

Estas en el tema de problemas con el NAME en el foro de Javascript en Foros del Web. Que tal tengo una lista de checKBox con id's muy distintos, pero con propiedad NAME asignados por mi de manera consecutiva ( name="checK_0" , name="checK_1" ...
  #1 (permalink)  
Antiguo 15/06/2007, 10:19
 
Fecha de Ingreso: septiembre-2005
Mensajes: 1.289
Antigüedad: 19 años, 4 meses
Puntos: 3
problemas con el NAME

Que tal tengo una lista de checKBox con id's muy distintos, pero con propiedad NAME asignados por mi de manera consecutiva ( name="checK_0" , name="checK_1" y asi consecutivamente ) tengo la siguiente funcion:

Código HTML:
function marcar(obj){// Recive el objeto de un camop de texto
	var aler='No existe la categoría';
	for(var c=0;c<num;c++){//num es el numero de checks existentes
		check=eval("document.getElementsByName('check_"+c+"')");	
		alert('paso - ' + check.value +' - '+ obj.value);
                       
		if(check.value==obj.value){
			check.checked=true;
			aler='';	
		}	
	}
	if(aler!='')
		alert(aler);
}
como ven quise usar la propiedad getElementsByName() en lugar de getElementById() pero cuando quiero hacer check.value me marca indefinido, por que?

Lo que necesito es que al escribir en un campo de texto y ejecutar la funcion de marcar, busque en los CheckBox a aquel que tenga el mismo valor que el del campo de texto y se marque, espero alguien me pueda ayudar, gracias de antemano!!!
__________________
Wow! No se que decir...
  #2 (permalink)  
Antiguo 15/06/2007, 10:25
Avatar de MaBoRaK  
Fecha de Ingreso: abril-2003
Ubicación: La Paz - Bolivia
Mensajes: 2.003
Antigüedad: 21 años, 9 meses
Puntos: 35
Re: problemas con el NAME

loading.............


te faltó

alert('paso - ' + check[0].value +' - '+ obj.value);

al llamar

getElementsByName
getElementsByTagName

Te devuelve un HTML COLLECTION (Array de Objetos DOM) y si en tu caso tienes un checkbox (solo 1 ) con el nombre ese... pues coges el primer elemento del HTML COLLECTIOn (check[0])


connection closed.
__________________

Maborak Technologies
  #3 (permalink)  
Antiguo 15/06/2007, 10:57
 
Fecha de Ingreso: septiembre-2005
Mensajes: 1.289
Antigüedad: 19 años, 4 meses
Puntos: 3
Re: problemas con el NAME

:( lo probe como me dijiste y ahora ni entra al alert, que puede ser?
__________________
Wow! No se que decir...
  #4 (permalink)  
Antiguo 15/06/2007, 17:26
 
Fecha de Ingreso: septiembre-2005
Mensajes: 1.289
Antigüedad: 19 años, 4 meses
Puntos: 3
Re: problemas con el NAME

nadie sabe que puedo hacer? o por que no funciono la sugerencia de MaBoRaK?
__________________
Wow! No se que decir...
  #5 (permalink)  
Antiguo 18/06/2007, 06:34
 
Fecha de Ingreso: septiembre-2005
Mensajes: 1.289
Antigüedad: 19 años, 4 meses
Puntos: 3
Re: problemas con el NAME

Planteare de nuevo mi problema, tengo una serie de checBox, todos con diferentes ides aleatoreos ya que es un ID formado por un Random, pero los names son asi:

Cat_0, Cat_1, Cat_2, etc., etc., por lo tanto todos los names son diferentesm, entonces me sugerieron hacer:

Código HTML:
check=eval("document.getElementsByName('Cat_"+c+"')");// la var. C es de un for 
//que inicia en 0 y va incrementando...
esto si me da un objeto, pero cuando quiero hacer

Código HTML:
alert('Valor - ' + check[0].value );
pues truena mi JS y ya no pasa de hay, no se si la propiedad value no sea correcta o que hago mal, por favor ayudenme!!!
__________________
Wow! No se que decir...

Última edición por zyon; 18/06/2007 a las 06:57
  #6 (permalink)  
Antiguo 18/06/2007, 08:53
Avatar de derkenuke
Colaborador
 
Fecha de Ingreso: octubre-2003
Ubicación: self.location.href
Mensajes: 2.665
Antigüedad: 21 años, 3 meses
Puntos: 45
Re: problemas con el NAME

No hay ningún problema con este código:
Código PHP:
<input type="checkbox" name="Cat_0" />
<
input type="checkbox" name="Cat_1" />
<
input type="checkbox" name="Cat_2" />
<
input type="checkbox" name="Cat_3" />
<
input type="checkbox" name="Cat_4" />

<
script>

for(var 
i=0i<=4i++) {
    var 
elCheck document.getElementsByName("Cat_"+i);
    
elCheck[0].checked "checked";
}

</script> 
PD:No es necesario el eval() para formar un string dentro de un argumento.

Un saludo.
__________________
- Haz preguntas inteligentes, y obtendrás más y mejores respuestas.
- Antes de postearlo Inténtalo y Búscalo.
- Escribe correctamente tus mensajes.
  #7 (permalink)  
Antiguo 18/06/2007, 09:20
 
Fecha de Ingreso: septiembre-2005
Mensajes: 1.289
Antigüedad: 19 años, 4 meses
Puntos: 3
Re: problemas con el NAME

no me funciono, y tambien intento hacer:

Código HTML:
for(var i=0; i<=4; i++) {
    var elCheck = document.getElementsByName("Cat_"+i);
    
    elCheck[0].checked = "checked";

    alert('el valor es : ' + elCheck[0].value);
}
y no funciona, enserio que no se que es
__________________
Wow! No se que decir...
  #8 (permalink)  
Antiguo 18/06/2007, 09:30
Avatar de derkenuke
Colaborador
 
Fecha de Ingreso: octubre-2003
Ubicación: self.location.href
Mensajes: 2.665
Antigüedad: 21 años, 3 meses
Puntos: 45
Re: problemas con el NAME

¿Cómo que no te funciona? ¿Qué error te da? He probado el código en FF2 y en IE6.
Código PHP:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<
html>
<
head>
<
title></title>
<
meta name="Author" content="derkeNuke">
</
head>

<
body>


<
input type="checkbox" name="Cat_0" />
<
input type="checkbox" name="Cat_1" />
<
input type="checkbox" name="Cat_2" />
<
input type="checkbox" name="Cat_3" />
<
input type="checkbox" name="Cat_4" />

<
script>

setTimeout( function() {
    for(var 
i=0i<=4i++) {
        var 
elCheck document.getElementsByName("Cat_"+i);
        
elCheck[0].checked "checked";
    }
}, 
1000);

</script>  

</body>
</html> 
Prueba con este ejemplo concreto con retardo de un segundo para estar más seguros... no puede ser.
__________________
- Haz preguntas inteligentes, y obtendrás más y mejores respuestas.
- Antes de postearlo Inténtalo y Búscalo.
- Escribe correctamente tus mensajes.
  #9 (permalink)  
Antiguo 18/06/2007, 09:33
 
Fecha de Ingreso: septiembre-2005
Mensajes: 1.289
Antigüedad: 19 años, 4 meses
Puntos: 3
Re: problemas con el NAME

cuando creo el objeto

var elCheck = document.getElementsByName("Cat_"+i);

se me ocurrio mandar un alert(elCheck.length) y me manda CERO, supongo que por eso no me unciona nada!!! lo que no entiendo es por que no me reconoce los elementos!!! cuando creo los checkBox le puse un alert con this,name y si me lo da, por que no me reconoce los nombres???
__________________
Wow! No se que decir...
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 22:35.