在JavaScript中打开字符串的开关故障


function listUsers(profil) {
    alert("type "+typeof(profil));
    switch (profil.toUpperCase()) {
        case "DGA":
            document.getElementById("id_importeur").innerHTML = "<?php echo $html_DGA; ?>";
            break;
        case "INDUSTRIEL":
            document.getElementById("id_importeur").innerHTML = "<?php echo $html_indus; ?>";
            break;
        default:
            alert("<?php echo plugin_lang_get("profil_err_users"); ?>");
    }
}

出于某种原因,使用此代码不起作用 - JavaScript实际上甚至都没有加载(这是摘要,我在window.onload()函数中使用alert(),只有此函数才能使其不显示)。

如果我对两种情况进行评论(但默认情况下),则有效。如果我评论案例的内容(document.getElementById()语句),则无效。

如果我尝试使用相同的构造,则该条款可行,因此它不是来自案例的内容,但案例本身似乎。

我不确定自己在做什么错,因为我正在检查参数profil类型,并且是一个字符串。我在我的情况下使用双引号(也用单引号测试),我在这里看不到语法错误,以导致JavaScript不加载。

删除这些PHP零件后似乎可以工作。默认值后,我还添加了一个断点语句。我很确定您的php插入打破JS代码的文本。

http://jsfiddle.net/bbw25/

var idImp = document.getElementById("id_importeur");
function listUsers(profil){
 switch(profil.toUpperCase()){
  case "DGA":
   idImp.innerHTML = "DGA";
  break;
  case "INDUSTRIEL":
   idImp.innerHTML = "INDUS";
  break;
  default:
   idImp.innerHTML = "profil_err_users";
  break;
 }
}

最新更新