Autor Tema: Php y HTML ¿Cómo preseleccionar respuesta en control radio? (opción predefinida)  (Leído 3129 veces)

LoboBlanco

  • Sin experiencia
  • *
  • APR2.COM
  • Mensajes: 25
    • Ver Perfil
Hola, estoy intentando desde php especificar la respuesta que estaria preselecionada en un formulario tipo control radio. Decidirlo con una variable. A veces se preseleccionaria la respuesta 1, otras veces la 2, etc.

Si lo hago directamente no tengo problema

Código: [Seleccionar]
<html>
<head>
<title>Control Radio mejorado</title>
</head>
<body>

<form action="FORMULARIO_control_radio_mejoradob.php" method="post">

  <input type="radio" name="radio1" value="linea1" >Linea1 <br>
  <input type="radio" name="radio1" value="linea2" >Linea2 <br>
  <input type="radio" name="radio1" value="linea3" checked="checked" >Linea3 <br>
  <input type="radio" name="radio1" value="linea4">Linea4 <br>

  <br>
  <input type="submit" name="Confirmar" value="Enviar Respuesta">

</form>
</body>
</html>

Resultado: Linea3 sale señalada, aunque el usuario puede cambiar la opción elegida.

*

Si intento hacerlo desde php no lo consigo

Código: [Seleccionar]
<html>
<head>
<title>Control Radio mejorado</title>
</head>
<body>

<?php

$Respuesta_preseleccionada
=3;
?>

<form action="FORMULARIO_control_radio_mejoradob.php" method="post">

<input type="radio" name="radio1" value="linea1" >Linea1 <br>

<input type="radio" name="radio1" value="linea2" >Linea2 <br>

<input type="radio" name="radio1" value="linea3" name="linea3"
<?php  
  
if ($Respuesta_preseleccionada==3)
     {
checked="checked";
     }
?>

> Linea3 <br>


<input type="radio" name="radio1" value="linea4">Linea4 <br>

<br>
<input type="submit" name="Confirmar" value="Enviar Respuesta">

</form>

</body>
</html>
« Última modificación: 09 de Mayo 2017, 17:35 por Alex Rodríguez »

LoboBlanco

  • Sin experiencia
  • *
  • APR2.COM
  • Mensajes: 25
    • Ver Perfil
Re:Php-¿Cómo preeleccionar respuesta en control radio?
« Respuesta #1 en: 12 de Febrero 2017, 22:23 »
Con lo que Pedro me soluciono en otro tema (muchas gracias Pedro  :) ) he avanzado un poco, pero sin conseguir solucionarlo. No me da error, pero no funciona bien.

Si alguien pudiera echarme una mano me vendría muy bien, gracias

He llegado a este codigo:

Código: [Seleccionar]
<html>
<head>
<title>Control Radio mejorado</title>
</head>
<body>

<?php
  $Respuesta_preseleccionada
=1;
?>

<form action="FORMULARIO_control_radio_mejoradob.php" method="post">

<input type="radio" name="radio1" value="linea1" checked=<?php if ($Respuesta_preseleccionada===1) {echo '"checked"'; } else {echo"";} ?> >Linea1 <br>

<input type="radio" name="radio1" value="linea2" checked=<?php  if ($Respuesta_preseleccionada===2) {echo '"checked"'; } else {echo"";} ?>  >Linea2 <br>

<input type="radio" name="radio1" value="linea3" checked=<?php  if ($Respuesta_preseleccionada===3) {echo '"checked"'; } else {echo"";} ?>  >Linea3 <br>

<input type="radio" name="radio1" value="linea4" checked=<?php  if ($Respuesta_preseleccionada===4) {echo '"checked"'; } else {echo"";} ?> >Linea4 <br>

<br>
<input type="submit" name="Confirmar" value="Enviar Respuesta">

</form>
<?php

echo "Respuesta preseleccionada: " .$Respuesta_preseleccionada;
?>


</body>
</html>

Resultado
Sale marcada la opción Linea4, a pesar de querer conseguir que saliera marcada la 1ª opción: Linea1. Y de que la variable $Respuesta_preseleccionada tiene el valor 1.

¿Por qué puede ser?

pedro,,

  • Moderador Global
  • Experto
  • *******
  • APR2.COM
  • Mensajes: 1292
    • Ver Perfil
Re:Php-¿Cómo preeleccionar respuesta en control radio?
« Respuesta #2 en: 12 de Febrero 2017, 23:27 »
Buenas LoboBlanco.

Al atributo checked no tienes que darle ningún valor, en el radiobutton en el que aparezca será seleccionado.

 
Código: [Seleccionar]
<input type="radio" name="radio1" value="linea1" checked />
y tu código podría quedar así:
Código: [Seleccionar]
<html>
<head>
<title>Control Radio mejorado</title>
</head>
<body>

<?php
  $Respuesta_preseleccionada
=3;
?>

<form action="pruebas.php" method="post">

    <input type="radio" name="radio1" value="linea1" <?php if ($Respuesta_preseleccionada==1) {echo "checked"; } else {echo"";} ?> >Linea1 <br>

    <input type="radio" name="radio1" value="linea2" <?php  if ($Respuesta_preseleccionada===2) {echo "checked"; } else {echo"";} ?>  >Linea2 <br>

    <input type="radio" name="radio1" value="linea3" <?php  if ($Respuesta_preseleccionada===3) {echo "checked"; } else {echo"";} ?>  >Linea3 <br>

    <input type="radio" name="radio1" value="linea4" <?php  if ($Respuesta_preseleccionada===4) {echo "checked"; } else {echo"";} ?> >Linea4 <br>

<br>
<input type="submit" name="Confirmar" value="Enviar Respuesta">

</form>
<?php

echo "Respuesta preseleccionada: " .$Respuesta_preseleccionada;
?>


</body>
</html>

Saludos. ;D

LoboBlanco

  • Sin experiencia
  • *
  • APR2.COM
  • Mensajes: 25
    • Ver Perfil
Re:Php-¿Cómo preeleccionar respuesta en control radio?
« Respuesta #3 en: 13 de Febrero 2017, 19:30 »
Muchas gracias de nuevo, Pedro   :D

Funciona genial, me viene estupendamente para lo que estoy haciendo   :)

 

Sobre la educación, sólo puedo decir que es el tema más importante en el que nosotros, como pueblo, debemos involucrarnos.

Abraham Lincoln (1808-1865) Presidente estadounidense.

aprenderaprogramar.com: Desde 2006 comprometidos con la didáctica y divulgación de la programación

Preguntas y respuestas

¿Cómo establecer o cambiar la imagen asociada (avatar) de usuario?
  1. Inicia sesión con tu nombre de usuario y contraseña.
  2. Pulsa en perfil --> perfil del foro
  3. Elige la imagen personalizada que quieras usar. Puedes escogerla de una galería de imágenes o subirla desde tu ordenador.
  4. En la parte final de la página pulsa el botón "cambiar perfil".