多年以来我一直在运行一个网站(direct link到桌面页面)。现在,突然之间,我意识到复选框不再像预期的那样工作了(对于下面的“完整性”按钮也是如此):一旦检查了“人均” - 计算的复选框,它就不会再出现了。不知道为什么会这样;非常令人沮丧。
该页面有两种形式:
<form name="tableForm" action="">
Per Capita: <input type='checkbox' name='per_capita' onchange='
document.formGeneric.per_capita.value=document.tableForm.per_capita.value;
document.formGeneric.action="table.php";
document.formGeneric.submit()
'>
</form>
和
<form method="post" name="formGeneric" action="">
<input type='hidden' name='per_capita' value='on' />
</form>
对我来说看起来很好(尽管可能是旧式的写作)。
“offing”off似乎根本不起作用。如果我在onChange事件中放入“alert(document.tableForm.per_capita.value)”,它仍然会显示“on”。
我非常感谢我在这里做错的任何提示。
答案 0 :(得分:1)
好的,感谢上面的AdrianoRepetti和Manurat的评论,我意识到我必须与两个不同的&#34;单位一起工作&#34;:一个是信息类型=&#34;复选框&#34;正在回归(&#34;已检查&#34;);另一种是我如何以另一种形式将信息存储在隐藏的&#34;元素中。
所以,我改变了代码以反映这一点 - 它现在解析&#34;已检查&#34;复选框的状态到&#34;值&#34;隐藏元素的一部分:
<form name="tableForm" action="">
Per Capita: <input type='checkbox' name='per_capita' onchange='
document.formGeneric.per_capita.value=document.tableForm.per_capita.checked;
document.formGeneric.action="table.php";
document.formGeneric.submit()
'>
</form>
<form method="post" name="formGeneric" action="">
<input type='hidden' name='per_capita' value='' />
</form>
现在,我使用PHP来检查隐藏的参数&#34; per_capita&#34;是&#34;检查&#34;或不。