0

我有一个 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> 

这个输入页面工作正常。例如, status2 = 3 的 checkboxA2 我看不到,因此无法检查。其他的都是可见的,我可以正确使用它们。分数已正确添加到系统中。

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

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= “&lt;?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数据库更新不接受的“”。

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

4

1 回答 1

0

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

type=<?php if ($status1 > 3) {echo '"checkbox"';} else { echo '"hidden" disabled';}?>
于 2020-06-28T15:25:42.407 回答