Foros del Web » Programando para Internet » PHP »

Leer el valor de un radio button

Estas en el tema de Leer el valor de un radio button en el foro de PHP en Foros del Web. hola gente, les cuento mi problema, necesito realizar una búsqueda. el usuario puede elegir por que campo buscar, para eso pongo radio button para que ...
  #1 (permalink)  
Antiguo 06/10/2011, 05:36
 
Fecha de Ingreso: abril-2011
Mensajes: 19
Antigüedad: 13 años
Puntos: 0
Leer el valor de un radio button

hola gente, les cuento mi problema, necesito realizar una búsqueda. el usuario puede elegir por que campo buscar, para eso pongo radio button para que pueda seleccionar el campo por el cual va buscar. mi problema es que cuando el hago click en el botón buscar, llama a la función javascript que lee el valor del radio buton activo, pero siempre me devuelve el valor que esta por defecto al iniciar la pagina y no queda activo el radio button seleccionado. no se si se esta reiniciando la pagina o que puede ser! les puse el codigo especifico para que sea mas simple le leerlo. espero puedan darme una mano! desde ya gracias! saludos.


<html>

<head>
<meta />
<link rel="stylesheet" type="text/css" href="estructura.css" title="style" />
<title>ABM PAIS </title>


<script type="text/javascript" charset="utf-8">


function activar(form){
form.criterio2.disabled=false;
}
function desactivar(form){
form.criterio2.disabled=true;
}


function getRadioselected (ctrl){
opciones = document.getElementsByName(ctrl);
for(i=0;i<ctrl.length;i++)
if(ctrl[i].checked)
alert (ctrl[i].value);


}
</script>





</head>

<body>
<div class="formulario">
<h2>
<form method="POST" name="foo" action="" >
Elija el tipo de Busqueda<br><br>
<input type="radio" name="group1" value="r_numero" checked onChange="desactivar(this.form)" >Numero
<input type="radio" name="group1" value="r_nombre" onChange="desactivar(this.form)">Nombre
<input type="radio" name="group1" value="r_vigente" onChange="desactivar(this.form)">Vigente
<input type="radio" name="group1" value="r_fechas" onChange="activar(this.form)">Entre Fechas


<br><br> <input type="text" name="criterio2" ><a href="#" onclick="return getCalendar(document.foo.criterio2);"><img src="calendario/calendar.png" border="0" /></a>
<input type="text" name="criterio2" ><a href="#" onclick="return getCalendar(document.foo.criterio2);"><img src="calendario/calendar.png" border="0" /></a><br>
<br> <input type="submit" name="submit2" value="Buscar" ></td>
</form></h2>


</div>


<?php
if (isset($_POST['submit2'])) { // si presiono el boton buscar
echo '<script type="text/javascript">';
echo'getRadioselected(foo.group1);';
echo'</script>';
//echo '<script language="javascript">alert(getRadioButtonSelected Value(group1));</script>';

$filtro = true;
} ?>

</body>
</html>

Última edición por johnk; 06/10/2011 a las 05:42
  #2 (permalink)  
Antiguo 06/10/2011, 05:48
Avatar de Eleazan  
Fecha de Ingreso: abril-2008
Ubicación: Ibiza
Mensajes: 1.879
Antigüedad: 16 años
Puntos: 326
Respuesta: Leer el valor de un radio button

Al ser un botón tipo submit, envía el formulario al action (en caso de omitirse ese parámetro, lo hace a la misma página) (por lo tanto, se vuelve a cargar la página). El resultado de tu eleccion, en php, lo tendrias en $_POST['group1']

Si lo q quieres es leer el valor seleccionado por JS, deberías ponerlo como un "button" normal, y en el evento "onclick", le pones el getRadioselected

Un saludo! :)
__________________
>> Eleazan's Source
>> @Eleazan
  #3 (permalink)  
Antiguo 11/10/2011, 06:12
 
Fecha de Ingreso: abril-2011
Mensajes: 19
Antigüedad: 13 años
Puntos: 0
Respuesta: Leer el valor de un radio button

gracias eleazan, lo solucione con el $_POST['group1'] . me fue de mucha ayuda tu respuesta! saludos
  #4 (permalink)  
Antiguo 11/10/2011, 09:00
Avatar de h2swider  
Fecha de Ingreso: julio-2007
Ubicación: Ciudad de Buenos Aires
Mensajes: 932
Antigüedad: 16 años, 9 meses
Puntos: 194
Respuesta: Leer el valor de un radio button

Cita:
Iniciado por Eleazan Ver Mensaje
Al ser un botón tipo submit, envía el formulario al action (en caso de omitirse ese parámetro, lo hace a la misma página) (por lo tanto, se vuelve a cargar la página). El resultado de tu eleccion, en php, lo tendrias en $_POST['group1']

Si lo q quieres es leer el valor seleccionado por JS, deberías ponerlo como un "button" normal, y en el evento "onclick", le pones el getRadioselected

Un saludo! :)
el action es mandatario en un form, ya leí varias veces esto de no poner action para ir a la misma pagina. Al no poner el action estarías cometiendo un error por omisión, que aunque funcione, no esta bien. Seria como utilizar <br> o <input type="radio" selected /> w3c reconoce como error este tipo de acciones.
__________________
Codifica siempre como si la persona que finalmente mantedra tu código sea un psicópata violento que sabe donde vives

Etiquetas: radio, usuarios
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:06.