Javascript IF语句中的不同window.onload事件
我正在尝试为不同的选项设置不同的onload事件。 例如:如果我的变量$var==1,它将触发一个window.onload事件,如果变量$var==2,则另一个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
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) 对服务器设置的配置节的现有部分进行临时检查