首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >javascript中字符串的开关出现问题

问javascript中字符串的开关出现问题
EN

Stack Overflow用户
提问于 2014-02-07 10:01:58
回答 1查看 44关注 0票数 0
代码语言: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()语句),它就不起作用了。

如果我在If子句中尝试相同的结构,它就能工作,所以它不是来自案例的内容,而是案例本身。

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

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-02-07 10:24:26

一旦移除这些PHP部件,似乎就可以工作了。我还在默认之后添加了一个中断语句。我非常肯定您的PHP插入了破坏JS代码的文本。

http://jsfiddle.net/bbW25/

代码语言:javascript
复制
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;
 }
}
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/21624637

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档