【发布时间】:2013-03-21 11:31:03
【问题描述】:
基于 PHP/MySQL 创建单选按钮集
在默认情况下检查按钮时遇到问题: 它的样子:
代码:
$first = TRUE;
if (mysql_num_rows($result))
{
for ($j = 0; $j < mysql_num_rows($result); $j++)
{
$currentCat = mysql_result($result, $j, 'category');
if ($first == TRUE)
{
$first = FALSE;
echo "<input type='radio' name='createCat' value='$currentCat' checked='checked' />$currentCat checked";
}
else
{
echo "<input type='radio' name='createCat' value='$currentCat' />$currentCat ";
echo "non";
}
}
echo <<<_END
<br /><input type='submit' value='Create' /> $error
</form>
_END;
}
注意第一个框没有被选中 HTML 格式的输出:
<input type='radio' name='createCat' value='opt1' checked='checked' />opt1 checked<input type='radio' name='createCat' value='opt2' />opt2 non<input type='radio' name='createCat' value='Accounts' />Accounts non <br /><input type='submit' value='Create' />
【问题讨论】:
-
我看不到你最初在哪里设置
$first -
不包括在内。但正如您从回声中看到的那样,“已检查”在第一类旁边。所以 first 显然设置为 true。
-
这有点奇怪.. 生成的 HTML 是什么?
-
对我来说很好用...涉及任何 Javascript?尝试不只是刷新页面,而是单击地址栏中的 URL 并按 Enter,这将确保表单处于初始状态。
-
您是否在其他浏览器中尝试过?这里发生了一些奇怪的事情......如果您的 PHP 代码正是您在此处发布的内容,那么它应该可以工作。除了浏览器或浏览器插件行为不端(或者只是需要像我上面提到的那样重置表单)之外,我能想到的唯一原因是一个错字。
标签: php html mysql radio checked