Ver Mensaje Individual
  #2 (permalink)  
Antiguo 03/03/2008, 18:50
Avatar de TurKa
TurKa
 
Fecha de Ingreso: enero-2003
Ubicación: Gerli, Avellaneda
Mensajes: 543
Antigüedad: 22 años
Puntos: 4
De acuerdo Re: Conocer el ID de un Radio Button

Hola carolca:

Lo primero que deberías hacer es insertar como valor de cada radio la ID del mismo, que traes con PHP (y por cierto, agregarle un nombre al grupo de radio buttons):

Código:
<input type="radio" value="<? echo fila->$row["id"]; ?>" name="listado">
Después, solo te queda hacer un script que compruebe el valor (value) del radio seleccionado para obtener la ID elegida por el usuario y la agregue al action del botón pulsado.

Se puede ahorrar trabajo haciendo todo en un mismo script pero si después lo tenés que modificar me parece más sencillo hacer dos scripts diferentes: 1) para obtener la ID seleccionada; 2) para modificar la URL del action según el botón pulsado;

Código:
<script language="JavaScript" type="text/javascript">
//esta función es para obtener la ID seleccionada
var var_id = 0;
function ObtenerID(form) {
	for(i=0;i<form.listado.length;i++) {
		if(form.listado[i].checked == true) {
			var_id = form.listado[i].value;
		}
	}
}

//esta otra cambia la URL del action agregando la ID obtenida
function CambiarAction(pagina) {
	nombre_del_form.action = pagina + "?id=" + var_id;
	nombre_del_form.submit();
}
</script>
Después solo te restará llamar a las funciones de la siguiente forma:

A la función que obtiene la ID, la llamas cuando el usuario pulsa un radio

Código:
<input type="radio" value="<? echo fila->$row["id"]; ?>"  onClick="ObtenerID(this.form)" name="listado">
A la función que cambia el action, al pulsar cada botón:

Código:
<input type=button value="Acción Uno" OnClick="CambiarAction('pagina1.php')">
<input type=button value="Acción Dos" OnClick="CambiarAction('pagina2.php')">
Espero que te sirva!

Saludos!!
__________________
Programación LAMP con Scrum y XP
www.eugeniabahit.com.com.ar

Última edición por TurKa; 03/03/2008 a las 18:52 Razón: el código estaba incompleto