php 提交后保持选中动态生成的单选按钮
php keep dynamically generated radio button checked after submit
我知道还有其他主题涉及此内容,但我通读了它们,尝试了解决方案,但仍然 运行 遇到问题。
我有一个数组 $genderValues,我循环遍历它以在表单内回显两个单选按钮。该表单还有其他经过验证的输入。当用户选中男性或女性时,我希望当他们尝试提交表单但未能满足其他验证时,该单选按钮保持选中状态,而不是让它自行清除。
$genderValues = ['Male','Female'];
function ending ($genderVal) {
if (isset($_POST['gender']) && ($_POST['gender'] == $genderVal)) {
$ending = " checked />";
return $ending;
}
else{
$ending = "/>";
return $ending;
}
}
foreach($genderValues as $genderVal){
echo "<label class='radio' for=" . $genderVal . ">" . $genderVal . "</label>
<input type='radio' name='gender' id=" . $genderVal . " value=" . $genderVal . ending($genderVal);
}
更改此行:
<input type='radio' name='gender' id=" . $genderVal . " value=" . $genderVal . ending($genderVal);
为此:
<input type='radio' name='gender' id=" . $genderVal . " value='" . $genderVal . "' " . ending($genderVal);
我知道还有其他主题涉及此内容,但我通读了它们,尝试了解决方案,但仍然 运行 遇到问题。
我有一个数组 $genderValues,我循环遍历它以在表单内回显两个单选按钮。该表单还有其他经过验证的输入。当用户选中男性或女性时,我希望当他们尝试提交表单但未能满足其他验证时,该单选按钮保持选中状态,而不是让它自行清除。
$genderValues = ['Male','Female'];
function ending ($genderVal) {
if (isset($_POST['gender']) && ($_POST['gender'] == $genderVal)) {
$ending = " checked />";
return $ending;
}
else{
$ending = "/>";
return $ending;
}
}
foreach($genderValues as $genderVal){
echo "<label class='radio' for=" . $genderVal . ">" . $genderVal . "</label>
<input type='radio' name='gender' id=" . $genderVal . " value=" . $genderVal . ending($genderVal);
}
更改此行:
<input type='radio' name='gender' id=" . $genderVal . " value=" . $genderVal . ending($genderVal);
为此:
<input type='radio' name='gender' id=" . $genderVal . " value='" . $genderVal . "' " . ending($genderVal);