繁体   English   中英

编写脚本时发生的奇怪情况

[英]strange happening with writing a script

我单击页面中的链接,然后使用以下脚本完成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! 我只是尝试一下。

对我来说这很有趣,我渴望知道原因是什么?

您的PHP代码将在HTML页面中生成以下代码:

<script> useraccess(); </ script>

这将在页面加载时运行,并且将隐藏所有按钮。 确切的发生时间将取决于该行所在页面的位置。 但是运行它与任何按钮都没有关系。

自从您谈论放入表单以来,我猜您以为使PHP代码生成Java脚本会影响您的页面。 不会的 当浏览器显示页面时,PHP已经完成。 您需要使用一些Javascript来观察按钮的单击。

(如果我误解了您的意图,对不起)。

在OP回复后进行编辑

哦,我懂了。 因此您确实希望按钮从一开始就被隐藏,但是它们是先出现然后被隐藏的吗?

我认为问题出在页面加载带有按钮的表单后,“ useraccess”功能才运行。

更好的方法是更改​​您的PHP,以便根本不输出按钮或禁用按钮。 如果用户没有特权,则它们根本不会出现在页面上。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM