2012-07-23 48 views
0

好的,我得到一个表单并且可用性对我很重要。如果用户完成表格,然后点击提交,但表单上有错误,我设置了回显的值提交时保留价值的PHP表单

例如, <input class="input_phone" name="phone" type="text" value="<?php echo $_POST['phone']; ?>" maxlength="15" />

输入的值将回到表单字段中,以便用户不必重新输入每个字段。

如何用单选按钮实现相同的效果?

<input class="radio" name="q1" type="radio" value="YES">

如果我将值设置为$_POST['q1']如何将它设置为YES

回答

2

与输入文字相同,只是属性为checked

<input class="radio" name="q1" type="radio" value="YES" <?php echo $_POST['q1'] === 'YES' ? 'checked' : ''; ?>> 
+0

作品完美..为什么三个“===”? – fyz 2012-07-23 01:37:06

+0

===是比较类型和值 – 2012-07-23 01:41:16

+0

'=='表示它们具有相同的值,'==='表示它们具有相同的值和类型。例如'0 == false'是true,但'0 === false'是false - http://php.net/manual/en/language.operators.comparison.php – Kjir 2012-07-23 01:42:26

1
if isset($_POST['q1']){ 
    echo '<input class="radio" name="q1" type="radio" checked="checked" value="YES">'; 
}else{ 
    echo '<input class="radio" name="q1" type="radio" value="NO">'; 
} 
+0

ty Trinh,但我发现xdazz的解决方案更清洁。 – fyz 2012-07-23 01:37:54

+0

好的,如果用户没有检查以前的表单,你将会设置变量未设置。应isset第一,然后检查值 – 2012-07-23 01:40:51

+0

我会测试的,并报告回来感谢你把我的注意力 – fyz 2012-07-23 01:41:49