Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/471.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 IF语句中的不同window.onload事件_Javascript_Html - Fatal编程技术网

Javascript IF语句中的不同window.onload事件

Javascript IF语句中的不同window.onload事件,javascript,html,Javascript,Html,我正在尝试为不同的选项设置不同的onload事件。 例如:如果我的变量$var==1,它将触发一个window.onload事件,如果变量$var==2,则另一个window.onload事件将触发。 但是我的代码不起作用。我用id='alert'从一个隐藏的输入中获取变量值。有没有其他方法来进行这种编码,我在这里做错了什么? Thx家伙 这是我的密码 JavaScript: <script type="text/javascript"> function

我正在尝试为不同的选项设置不同的onload事件。 例如:如果我的变量$var==1,它将触发一个window.onload事件,如果变量$var==2,则另一个window.onload事件将触发。 但是我的代码不起作用。我用
id='alert'
从一个隐藏的输入中获取变量值。有没有其他方法来进行这种编码,我在这里做错了什么?
Thx家伙

这是我的密码

JavaScript:

<script type="text/javascript">

            function Onload(){

            var variable=document.getElementById("alert").value;

            if(variable.value=="1"){

                window.onload = function()
                {
                    swal({
                    title: "Example",
                    text: "Example123!",
                    type: "success",
                    showCancelButton: false,
                    confirmButtonClass: 'btn-success',
                    confirmButtonText: 'Close'
                    }); 
                };

            }
            if(variable.value=="2"){
                window.onload = function()
                {
                    swal({
                    title: "Example",
                    text: "Example1234",
                    type: "error",
                    showCancelButton: false,
                    confirmButtonClass: 'btn-danger',
                    confirmButtonText: 'Close'
                    }); 
                };
            }
            if(variable.value=="3"){

                window.onload==function(){

                    false;

                }

            }

            }       

</script>

函数Onload(){
var变量=document.getElementById(“警报”).value;
如果(变量值==“1”){
window.onload=函数()
{
游泳({
标题:“示例”,
文本:“示例123!”,
键入:“成功”,
showCancelButton:false,
confirmButtonClass:“btn成功”,
confirmButtonText:“关闭”
}); 
};
}
如果(变量值==“2”){
window.onload=函数()
{
游泳({
标题:“示例”,
文本:“示例1234”,
键入:“错误”,
showCancelButton:false,
确认按钮类:“btn危险”,
confirmButtonText:“关闭”
}); 
};
}
如果(变量值==“3”){
window.onload==函数(){
虚假的;
}
}
}       
HTML

<body onLoad='Onload();'>   
<input type='hidden' id='alert' name='alert' value="<?php echo $alert;  ?>">


window.onload
正在触发您的
onload
功能。在该函数中再次赋值不会重新触发它。相反,只需直接调用这些函数:

function Onload() {
    var variable = document.getElementById("alert").value;
    if (variable == "1") {

        swal({
            title: "Example",
            text: "Example123!",
            type: "success",
            showCancelButton: false,
            confirmButtonClass: 'btn-success',
            confirmButtonText: 'Close'
        });
    }
    if (variable == "2") {

        swal({
            title: "Example",
            text: "Example1234",
            type: "error",
            showCancelButton: false,
            confirmButtonClass: 'btn-danger',
            confirmButtonText: 'Close'
        });

    }
    if (variable == "3") {
        //just do nothing
    }

}

当您可以使用
json\u encode
将变量直接放入
部分时,无需使用隐藏输入。例如:

<script type="text/javascript">
(function() { // grouping the code into IIFE to prevent global scope pollution
  var modalIndex = <?php echo json_encode($alert); ?>;
  var modalOpts = {
    1: {
      title: 'Example1',
      text: 'Example1234',
      type: 'success',
      showCancelButton: false,
      confirmButtonClass: 'btn-success',
      confirmButtonText: 'Close'
    }, 
    2: {
      title: 'Example2',
      text: 'Example2341',
      type: 'warning',
      showCancelButton: false,
      confirmButtonClass: 'btn-danger',
      confirmButtonText: 'Close'
    }, 
  };
  if (modalIndex in modalOpts) {
    window.onload = function() {
      swal(modalOpts[modalIndex]); 
    } 
  }
})();

(function(){//将代码分组到IIFE以防止全局范围污染
var modalIndex=;
var modalOpts={
1: {
标题:“示例1”,
文本:“示例1234”,
键入:“成功”,
showCancelButton:false,
confirmButtonClass:“btn成功”,
confirmButtonText:“关闭”
}, 
2: {
标题:“示例2”,
文本:“示例2341”,
键入:“警告”,
showCancelButton:false,
确认按钮类:“btn危险”,
confirmButtonText:“关闭”
}, 
};
if(modalOpts中的modalIndex){
window.onload=函数(){
swal(modalOpts[modalIndex]);
} 
}
})();
请注意,I 1)删除了
Onload
函数,以便立即执行代码;2) 将选项分组到单个对象中;3) 对服务器设置的配置节的现有部分进行临时检查