Странно происходит с написанием сценария

Я нажимаю ссылки на моей странице, тогда моя функция в javascrpt будет выполнена. У меня есть этот скрипт:

<script>
  function useraccess()
{
var inputs = document.getElementsByTagName("input");
for (var i = 0; i < inputs.length; i++){
    if (inputs[i].type == "button"){
    inputs[i].style.visibility = "hidden";
                                   }
                                       }
}
</script>

и в форме:

<?php
if(!$_SESSION['isadmin'])
{
 echo '<script>useraccess();</script>';
}
?>

Если я запускаю его, нажимая ссылки, которые я написал в течение очень короткого времени, он покажет мне кнопки, и тогда они будут скрыты, но! если я включу эту строку, предшествующую <script> что я написал

<script type="text/javascript" src="file.js"></script>

с этой строкой в ​​кодах: нет проблем с моим кодом, и когда я нажимаю ссылки, он скрывает мои кнопки

Я не вижу кнопок, которые "через короткое время" они будут скрывать

Я имею в виду, они "скрываются", я не вижу их даже в течение короткого времени

Я решил свою проблему очень случайно! потому что у меня нет file.js! Я просто попробовал что-то.

Мне так интересно, что я хочу знать, в чем причина?

1 ответ

Ваш PHP-код сгенерирует следующий код на вашей HTML-странице:

<Скрипт> useraccess ();

Это будет выполнено, когда страница загрузится, и скроет все ваши кнопки. Как именно это произойдет, будет зависеть от того, на какой странице вы разместите эту строку. Но работа с ним не связана ни с какими кнопками.

Поскольку вы говорите о вводе формы, я предполагаю, что вы думаете, что каким-то образом создание вашего кода PHP сгенерирует, что Javascript повлияет на вашу страницу. Не будет Когда ваш браузер отображает вашу страницу, PHP закончил. Вы должны использовать Javascript, чтобы наблюдать за нажатиями кнопок.

(Если я неправильно понял ваше намерение, извините).

Редактировать после ответа от ОП:

О, я вижу. Значит, вы хотите, чтобы кнопки были скрыты с самого начала, но они сначала появлялись, а затем скрывались?

Я думаю, что проблема заключается в том, что функция "useraccess" не запускается до тех пор, пока страница не загрузит форму с ее кнопками.

Гораздо лучшим подходом было бы изменить ваш PHP, чтобы вообще не выводить кнопки или выводить их отключенными. Тогда они бы вообще не появлялись на странице, если бы пользователь не был привилегированным.

Другие вопросы по тегам