Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/88.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
JavaScript切换按钮不更改document.load上的状态_Javascript_Html_Arrays_Onload - Fatal编程技术网

JavaScript切换按钮不更改document.load上的状态

JavaScript切换按钮不更改document.load上的状态,javascript,html,arrays,onload,Javascript,Html,Arrays,Onload,我想创建一些切换按钮。但在下面的代码中,根据我的说法,按钮2的起始值为“true”,并且在document.load上它应该会自动更改。但在运行时,它不会更改按钮状态。 实际上,所有的HTML文件都将被用在C++程序中作为一个字符串,其中按钮的起始值将从服务器中检索。 这是我的密码。 如果您想建议新的逻辑,请执行以下操作::-) var st=[false,false,false]; document.onload=函数WL(a){ st=[假,真,假] 对于(i=0;i

我想创建一些切换按钮。但在下面的代码中,根据我的说法,按钮2的起始值为“true”,并且在document.load上它应该会自动更改。但在运行时,它不会更改按钮状态。 实际上,所有的HTML文件都将被用在C++程序中作为一个字符串,其中按钮的起始值将从服务器中检索。 这是我的密码。 如果您想建议新的逻辑,请执行以下操作::-)

var st=[false,false,false];
document.onload=函数WL(a){
st=[假,真,假]
对于(i=0;i<3;i++){
oof(i);
}
};
函数oof(a){
p=document.getElementById(a);
cv=p.值;
如果(st[a]==false){
cv=p.value=p.innerHTML=“On”;
p、 style.backgroundColor=“#4CAF50”;
st[a]=正确;
//中华人民共和国(a);
}else if(st[a]==true){
cv=p.value=p.innerHTML=“关闭”;
p、 style.backgroundColor=“#f44336”;
st[a]=假;
//中华人民共和国(a);
}
}
职能(b){
r=“?p=“+b;
var a=document.createElement(“表单”);
a、 setAttribute(“方法”、“帖子”);
a、 setAttribute(“动作”,r);
a、 style.display=“隐藏”;
文件.正文.附件(a);
a、 提交()
};
.b{背景色:#f44336;边框:0;颜色:白色;填充:15px 32px;文本对齐:居中;显示:内联块;字体大小:16px;边距:10px 0 10px 0;宽度:100%;高度:200px}
.b:悬停{背景色:#4caf50;}
.b:活动{背景色:#008cba;}
Off
关闭
关闭
我做了一个简单的测试:

<html>
<head>
 <script>
  document.onload = console.log
 </script>
</head>
<body>
</body>
</html>

我发现您的代码有两个问题:

  • 尝试使用
    window.onload
    而不是
    document.onload
  • 您不应该使用
    介于
  • 语句的
    和要在循环中执行的代码块之间
    因此,该行:

    for(i=0;i<3;i++);{

    应该是:


    (i=0;i<3;i++)的
    {

    替换
    文档。通过
    窗口onload
    。onload
    你会解决你的问题。明白了。谢谢。;-
    加载
    不起作用,我尝试了
    DOMContentLoaded
    ,效果很好。无论如何,感谢你的想法。:-)干杯。事实上,我尝试了我发布的代码,效果如期。然而r、 DOMContentLoaded无论如何都是对您的用例更好的事件
    <html>
    <head>
     <script>
      window.addEventListener('load', console.log)
     </script>
    </head>
    <body>
    </body>
    </html>