[英]Trouble with a switch on a string in 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。
刪除這些PHP部分后,似乎可以使用。 默認情況下,我還添加了break語句。 我很確定您的PHP會插入破壞JS代碼的文本。
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;
}
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.