Cita:
Iniciado por GatorV Porque cuando no marcas el checkbox el valor
no es enviado al browser, por lo que más bien tienes que preguntar si no esta seteado:
Código PHP:
Ver originalif (isset($_POST['check1'])) { // marcado
} else {
// no marcado
}
Cuando tengas dudas, siempre es bueno inspeccionar tu variable $_POST para que veas que valores te llegan a tu formulario.
Saludos.
Hola GatorV
Siguiendo tu explicación en este caso (añadiendo el botón enviar para que no salga al cargar la página y solo cuando se pulse enviar) me sale perfectamente:
Código PHP:
Ver original<input type="checkbox" value="Hospitalización y convalecencia" name="check11" <?php
if (isset($_POST['check11']) && $_POST['check11'] =="Hospitalización y convalecencia") { echo " checked='checked'"; }?> />
Hospitalización y convalecencia (indicar prestación diaria: elegir de un importe 6 a 60 eur /dia)
<input type="text" id="prestacion-diaria" name="prestacion-diaria" <?php if($_POST['enviar'])
if (isset($_POST['check11'])) { // marcado
{echo "value=\"Incompleto\""; echo ' class="aviso-formulario"'; }
} else {
// no marcado
{echo 'value=""';}
}
?>
Sin embargo ahora intento que si está marcado el checkbox e indica "Incompleto" o cualquier otro nombre nuevo que mantenga ese valor en el campo input ($_POST['prestacion-diaria']) y no termina de mantener dicho valor. Lo he intentado así suponiendo un valor "Algo".
Código PHP:
Ver original<input type="text" id="prestacion-diaria" name="prestacion-diaria"
<?php if($_POST['enviar'])
if (isset($_POST['check11'])) { // marcado
if (isset($_POST['prestacion-diaria']) && $_POST['prestacion-diaria'] == "") {echo "value=\"Incompleto\""; echo ' class="aviso-formulario"'; }
elseif (isset($_POST['prestacion-diaria']) && $_POST['prestacion-diaria'] != "" && $_POST['prestacion-diaria'] != "Incompleto") {echo "value=\"Algo\"";// Aquí entra el valor del input $_POST['prestacion-diaria']}
} elseif (isset($_POST['check11']) == "") { // no marcado
{echo 'value=""';}
}
?>
Como decía antes no me sale de la manera correcta.
Cita:
Iniciado por abimaelrc Una forma de enviar siempre un valor no importando si esta seleccionado o no es colocando un campo tipo hidden antes del campo tipo checkbox y con el mismo nombre del checkbox pero con diferente valor algo como
Código PHP:
Ver original<input type='hidden' name='foo' value='0' />
<input type='chekbox' name='foo' value='1' />
Si el checkbox no es seleccionado te va a dar el valor del hidden pero si es seleccionado te va a dar el valor del checkbox.
Hola abimaelrc, aun no he probado esa opción, voy a ver si la saco
Gracias a ambos por la ayuda