Добавьте свойство readonly в элемент, если сессия php имеет специальное значение - PullRequest
0 голосов
/ 18 ноября 2018

Мне нужно скрыть или сделать readonly два поля ввода в зависимости от того, кто вошел в систему. Если конкретный пользователь вошел в систему, они появляются, а остальные нет. Я могу заставить работать первую часть и найти правильного пользователя. В примере я пытаюсь сделать их readonly.

$user = $_SESSION['user_name'];

Тогда я немного теряюсь, пытаясь использовать различные операторы IF

if ($user == 'Jim') { 
    document.getElementById("notes").readonly = true;
    document.getElementById("coins").readonly = true;
}

Я полагаю, что это утверждение IF не приводит к тому, что ничего не работает.

<tr>
    <td><b>OFFICE USE:-</b></td>
    <td><b>Notes & Coins</b></td>
</tr> 
<tr>
    <td>Notes:-</td>
    <td><input type="text" id="notes"></td>
</tr>
<tr>
    <td>Coins:-</td>
    <td><input type="text" id="coins"></td>
</tr>

Ответы [ 2 ]

0 голосов
/ 18 ноября 2018

Вы смешиваете php ($user) с javascript (document.getElementById...). Нет никакой необходимости использовать javascript вообще:

if ($user == 'Jim') { 
   $readonly = "readonly";
} else {
   $readonly = "";
}
// then, where you need an input to be readonly do:
?>
<input type="text" id="notes" <?php echo $readonly ?>>
0 голосов
/ 18 ноября 2018

Ваш код условия неверен, потому что вы не можете комбинировать код JavaScript с php-кодом, как показано. Код JavaScript должен быть заключен в <script></script>

<?php
if ($user == 'Jim') { 
    echo '<script>
    document.getElementById("notes").readonly = true;
    document.getElementById("coins").readonly = true;
    </script>'
}
?>

Но лучше добавить readonly свойство, используя php

<?php $user = $_SESSION['user_name'] ?>
<tr>
  <td><b>OFFICE USE:-</b></td>
  <td><b>Notes & Coins</b></td>
</tr>
<tr>
  <td>Notes:-</td>
  <td><input type="text" id="notes" <?php $user=='Jim' ? echo 'readonly' : ''?>></td>
</tr>
<tr>
  <td>Coins:-</td>
  <td><input type="text" id="coins" <?php $user=='Jim' ? echo 'readonly' : ''?>></td>
</tr>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...