странно происходит с написанием сценария - PullRequest
0 голосов
/ 02 августа 2011

Я нажимаю ссылки на своей странице, после чего моя функция в 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>

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

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

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

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

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

1 Ответ

0 голосов
/ 02 августа 2011

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

useraccess ();

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

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

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

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

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

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

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

...