我得到了「新用戶表單」。有三個不同的層次clearence:Javascript無法隱藏一些DIV
- 客戶
- clientContact
- clientRepresentative
還有一些領域,如NEWMAIL,newPostalCode等
下面是我的代碼我用來顯示一個元素:
function doShow(obj) {
document.getElementById(obj).style.display = '';
}
,我使用隱藏的元素代碼:
function doHide(obj) {
document.getElementById(obj).style.display = 'none';
}
它適用於小數據塊。創建用戶時,將指定clearence級別,如果它是clientRepresentative,則顯示相應的字段。 例如,客戶端只有一個電子郵件地址,clientRepresentative有兩個電子郵件地址,clientContact有三個。
但是這個不工作!。 如果我選擇的客戶端,有一個電子郵件,正如計劃,但如果我選擇clientContact,然後切換到clientRep代表冗餘字段(電子郵件3)是不被隱藏。
我相信這是一個JavaScript問題,請幫助我,因爲我的憤怒程度達到了天花板。
編輯: 我忘了粘貼功能用來顯示/隱藏項目。
if (clearenceLevel != "Chose...") {
if (clearenceLevel == "client") {
doShow("newMail");
doHide("newMail2");
doHide("newMail3");
doShow("newNip");
doShow("newRegon");
doShow("newStreet");
doHide("newHeadquarters");
doShow("newAddress");
doShow("newPostalCode");
doShow("kptekst");
doShow("newCity");
doShow("newAccount");
doShow("newState");
doHide("newStatus");
doHide("newPassword");
} else if (clearenceLevel == "clientRepresentative") {
doShow("newMail");
doShow("newMail2");
doHide("newStatus");
doHide("newMail3");
doHide("newNip");
doHide("newRegon");
doHide("newStreet");
doHide("newHeadquarters");
doHide("newAddress");
doHide("newPostalCode");
doHide("newCity");
doHide("newAccount");
doHide("newState");
doHide("kptekst");
doShow("newPassword");
} else if (clearenceLevel == "clientContact") {
doShow("newMail");
doShow("newMail2");
doShow("newMail3");
doHide("newNip");
doHide("newRegon");
doHide("newStatus");
doHide("newStreet");
doHide("newHeadquarters");
doHide("newAddress");
doHide("newPostalCode");
doHide("newCity");
doHide("newAccount");
doHide("newState");
doHide("kptekst");
doHide("newPassword");
}
}
你在傳遞給doShow和doHide形式?它看起來應該是一個字符串(元素ID),但參數被稱爲「obj」。如果您確實傳入了DOM元素對象,那麼代碼將無法工作。 – Douglas 2010-08-30 11:22:58
您是否100%確定每個ID在文檔中只存在一次? – 2010-08-30 11:24:02
你確實需要一些適當的工具來調試這些東西,比如Firebug(在Firefox上)或者Fiddler(IE)。 – tdammers 2010-08-30 11:24:30