如何更新 HTML 输入中的隐藏复选框



我有一个HTML输入页面,可以在网格中添加分数。

status valueA valueB checkboxA checkboxB
1       4      5      2         x         x
2       3      3      1                   x
3       5      7      2                   
4       4      6      3         x

包括一些像这样的复选框,如果状态为 3,则带有 ng-hide 条件 (angularjs(。(表示带有数字 3 的所有状态,我不需要看到,所以我无法选中复选框。

<form action="/save_score.php">
...
<td><input type="hidden" value="0" name="checkboxA1"/>
<input type="checkbox" value="1" name="checkboxA1" ng-hide="status1 == 3"/></td>
...
<input type="submit" value="Save">
</form> 

此输入页面工作正常。 例如,状态为 2 = 3 的复选框 A2 我看不到因此无法检查。 其他的都是可见的,我可以正确使用它们。 分数将正确添加到系统中。

稍后在我保存分数后,我可以进入一种历史页面,其中包含所有添加的不同日期的分数,在那里我可以看到以前可以更改它们的所有分数(我需要此页面,因为有时会发生我犯了一个错误并想要更改分数(我单击分数的详细信息并返回分数网格。

Score History
Date        Score  
11-11-2019  89     Details 
10-10-2019  90     Details 
09-09-2019  88     Details 
...

其中还有复选框。

<form action="/update_score.php">
...
<input type=“checkbox” value= “<?php echo $checkboxA1; ?>” name="checkboxA1" <?php if($checkboxA1) { 
echo 'checked="checked"';} ?>></td> 
...
<input type="submit" value="Update">
</form> 

现在我想更改此行,以便隐藏状态为 3 的复选框。 但是到目前为止,我还没有找到隐藏相应复选框而不会收到更新错误的方法。

我在输入类型中尝试过这个...(这将使相应的复选框消失(

type="<?php if ($status1 > 3) {echo 'checkbox';} else { echo 'hidden';}?>"

我想补充的是,复选框的隐藏是一项设计功能,因为它看起来更好,并且可以避免在输入和更新分数期间出现其他错误,但它尚不起作用,因为所有隐藏的复选框都无法更新。 它们都返回我的 MySQL 数据库更新不接受的"。

所以我的问题是,如何隐藏复选框并正确获取更新

由于更新错误来自空输入,因此不应将这些输入包含在表单中,或者只是将它们设置为禁用,浏览器将不会发布其值。

type=<?php if ($status1 > 3) {echo '"checkbox"';} else { echo '"hidden" disabled';}?>

最新更新