Foros del Web » Programando para Internet » Javascript »

Problema con cambio de valor de una variable

Estas en el tema de Problema con cambio de valor de una variable en el foro de Javascript en Foros del Web. Amigos, me podrían ayudar en solucionar un inconveniente que tengo con este Script. Es un script que al chequearse un radiobutton varía la variable var_id ...
  #1 (permalink)  
Antiguo 30/03/2008, 08:19
 
Fecha de Ingreso: febrero-2008
Ubicación: Asunción
Mensajes: 36
Antigüedad: 16 años, 8 meses
Puntos: 0
Pregunta Problema con cambio de valor de una variable

Amigos,
me podrían ayudar en solucionar un inconveniente que tengo con este Script.

Es un script que al chequearse un radiobutton varía la variable var_id mediante la funcion ObtenerID().
Pero cuando hay un solo radiobutton siempre me retorna cero (0).
Vale observar que los radios se crean dinámicamente a través de un for { } en php

Código HTML:
<input type="radio" value="<?php echo $r_id ?>" name="recurso" onClick="ObtenerID(this.form)" /> 
Despues ese valor del var_id es utilizado para modificar el action del form.

Código:
<script LANGUAGE="JavaScript">
//esta funcion es para obtener la ID seleccionada
	var var_id = 0;
	function ObtenerID(form)
	{
		if(form.recurso.length < 2)
		{
			var_id = form.recurso.value;
		}

		else
		{
			for(i=0;i < form.recurso.length;i++)
			{
				if(form.recurso[i].checked == true)
				{
					var_id = form.recurso[i].value;
				}
			}
		}
	}

//esta otra cambia la URL del action agregando la ID obtenida
	function CambiarAction(pagina)
	{
		hola = pagina + "?id=" + var_id;
		alert(hola);
//		document.formu.action = pagina + "?id=" + var_id;
//		document.formu.submit();
	}
</script>
Me pegan una manito?
Gracias.
  #2 (permalink)  
Antiguo 30/03/2008, 10:46
Avatar de caricatos
Moderador
 
Fecha de Ingreso: abril-2002
Ubicación: Torremolinos (Málaga)
Mensajes: 19.607
Antigüedad: 22 años, 7 meses
Puntos: 1284
Re: Problema con cambio de valor de una variable

Hola:

Es que si solo tienes un radio, siempre que pinches será el que seleccione... si quieres que al volver a pinchar se desmarque deberías usar un checkbox.

Saludos
__________________
Por favor:
No hagan preguntas de temas de foros en mensajes privados... no las respondo
  #3 (permalink)  
Antiguo 30/03/2008, 10:57
 
Fecha de Ingreso: febrero-2008
Ubicación: Asunción
Mensajes: 36
Antigüedad: 16 años, 8 meses
Puntos: 0
Re: Problema con cambio de valor de una variable

Gracias por tu contestación Caricatos.
Si, esa parte entiendo. Lo que sucede es esto.
En la función CambiarAction() que es llamado al presionar el button debe hacer submit con el string que se le pasó al document.formu.action, que el codigo esta comentado.
Ahi verás que se construye el string que es la concatenación de pagina + "id" + var_id

Entonces, ese var_id debería de cambiar de acuerdo a que se vaya pinchando en los radio que hayan, pero en el caso que haya un solo radio no toma ningún valor

En la funcion ObtenerID() hay un if
Código:
if(form.recurso.length < 2)
que yo suponia que podia hacer para cuando es de un solo radio, y que cuando sea de dos o mas vaya al ELSE.
Pero por lo visto no es asi.
Ahí está mi problemilla...

Gracias
  #4 (permalink)  
Antiguo 30/03/2008, 11:11
Avatar de caricatos
Moderador
 
Fecha de Ingreso: abril-2002
Ubicación: Torremolinos (Málaga)
Mensajes: 19.607
Antigüedad: 22 años, 7 meses
Puntos: 1284
Re: Problema con cambio de valor de una variable

Hola:

Si buscas el value de un elemento repe (ya se trate de radios como de cualquier otro elemento, siempre vas a obtener el del primero, esté checked o no.

Tal vez sea mejor que cambies la condición si quieres omitir esa condición:

if(form.recurso.length > 1) // equivaldría a tu else actual.

Saludos
__________________
Por favor:
No hagan preguntas de temas de foros en mensajes privados... no las respondo
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 18:35.