まず、私は Internet Explorer 6 を使用していることに言及する必要があります。イベントtabModifiedHighlight
から JavaScript 関数 ( ) を呼び出しています。onChange
この機能は他の場所でも完全に機能しますが、ページにはチェックボックスをオンにすると機能する場所がいくつかありますが、チェックを外してもイベントは発生しないようです。JavaScript 関数は次のとおりです。
function tabModifiedHighlight(){
alert("alert");
var div, i, input, inputIndex, selects, selectIndex, selectedTab, highlighted;
var tabs = new Array("admissioninformation","diet","vitalsigns","activities","nursing","ivfluids","medications1","medications2","labs","respiratory","diagnostic","consultations");
for(i=0; i<(tabs.length); i++){
selectedTab = tabs[i]+'tab';
if (document.getElementById(selectedTab).className == "selectedtab"){
div = document.getElementById(tabs[i]),
input = div.getElementsByTagName('input'),
selects = div.getElementsByTagName('select');
break;
}
}
highlighted = false;
for (inputIndex = 0; inputIndex < input.length; inputIndex++){
if (input[inputIndex].checked == true){
highlighted = true;
}
}
for (inputIndex = 0; inputIndex < input.length; inputIndex++){
if (input[inputIndex].type == 'text' && input[inputIndex].value != ""){
highlighted = true;
}
}
for (selectIndex = 0; selectIndex < selects.length; selectIndex++){
if (selects[selectIndex].value != ""){
highlighted = true;
}
}
if (highlighted == true){
document.getElementById(selectedTab).style.backgroundColor = "#FF0";
}
else {
document.getElementById(selectedTab).style.backgroundColor = "#F0F0F0";
}
}
そして、これを呼び出している入力は次のとおりです。
<input name="cbMedTylenolPO" id="cbMedTylenolPO" type="checkbox" value="PO" onClick="tylenolPoShowHide(); checkBoxHighlight(this, 'MedicationsRow2'); tabModifiedHighlight();" />
このページには複数の「タブ」があります。これらは、選択されているものに基づいて表示または非表示に設定される単なる div です。2つのタブを除いてどこでも機能し、それらのタブのどこにも機能しないという点で一貫しているようです. 私が見ることができる他の唯一の違いは、チェックボックスがチェックされているかどうかに基づいて、機能していないものもタブ内でdivを表示または非表示にしていることです。関数の最初にアラートを追加して、発火しているかどうかを確認しました。チェックボックスをオンにしたときは発生しますが、チェックを外したときは発生しません。
私はこれを明確にしたことを願っています。