选中开/关复选框不再起作用

时间:2014-12-02 08:44:16

标签: javascript html checkbox

多年以来我一直在运行一个网站(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”。

我非常感谢我在这里做错的任何提示。

1 个答案:

答案 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;或不。