Деактивация определенных кнопок

Рейтинг: 0Ответов: 2Опубликовано: 23.01.2023

Есть таблица, в каждой строке есть кнопка "редактировать"

if ($sesrights == "admin" ) {
  echo "<td><form action='persona_redact_list.php' method='post'>
  <input type='hidden' name='id' value='" . $row["id"] . "' />
  <input type='submit' value='Редактировать'>
  </form></td>";
}

$row["id"] - ID записи в базе так я могу их скрыть, конечно могу использовать disabled.

А как деактивировать (или скрыть) часть кнопок, например где id = 1, 5, 10, 16 и т.д..

Ответы

▲ 2

Выглядеть это должно примерно так:

$mas = [1, 5, 10, 16];
if ($sesrights == "admin" ) {
      echo "<td><form action='persona_redact_list.php' method='post'>
      <input type='hidden' name='id' value='" . $row["id"] . "' />";
      if (!in_array($row["id"], $mas)) { // Если id нет в массиве - выводим кнопку
          echo "<input type='submit' value='Редактировать'>"; 
      }
      echo "</form></td>";
}

Сами определите, каким образом и по каким условиям вам собирать массив исключений.

Или с отключением кнопки

$mas = [1, 5, 10, 16];
if ($sesrights == "admin" ) {
      $dis = in_array($row["id"], $mas) ? 'true' : 'false';
      echo "<td><form action='persona_redact_list.php' method='post'>
      <input type='hidden' name='id' value='" . $row["id"] . "' />";
      echo "<input type='submit' value='Редактировать' disabled='". $dis ."'>";
      echo "</form></td>";
}
▲ 1

Вы можете использовать JavaScript для скрытия кнопок с определенными ID. Например, можно добавить класс к кнопке с определенным ID и затем скрыть его с помощью CSS. Вот пример кода, который можете использовать:

<td><form action='persona_redact_list.php' method='post'>
<input type='hidden' name='id' value='" . $row["id"] . "' />
<input type='submit' value='Редактировать' id='editButton_" . $row["id"] . "'>
</form></td>

<script>
var hideIds = [1, 5, 10, 16];
for (var i = 0; i < hideIds.length; i++) {
    var id = hideIds[i];
    var button = document.getElementById('editButton_' + id);
    button.style.display = 'none';
}
</script>

В этом примере, кнопки с ID 1, 5, 10 и 16 будут скрыты при загрузке страницы.