Foros aprenderaprogramar.com

Aprender a programar => Aprender a programar desde cero => Mensaje iniciado por: LoboBlanco en 12 de Febrero 2017, 12:11

Título: Php y HTML ¿Cómo preseleccionar respuesta en control radio? (opción predefinida)
Publicado por: LoboBlanco en 12 de Febrero 2017, 12:11
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>
Título: Re:Php-¿Cómo preeleccionar respuesta en control radio?
Publicado por: LoboBlanco 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?
Título: Re:Php-¿Cómo preeleccionar respuesta en control radio?
Publicado por: pedro,, 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
Título: Re:Php-¿Cómo preeleccionar respuesta en control radio?
Publicado por: LoboBlanco en 13 de Febrero 2017, 19:30
Muchas gracias de nuevo, Pedro   :D

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