JavaScript関数があります。その関数を使用して、実行時に html ファイルのテーブル行にリストボックスを追加します。スクリプトは、IE、chrome 22、および FFox 16 で正常に実行されます。しかし、同じマシンで firefox3 を使用すると、リストボックスが表示されません。
このコードが Firefox 3 でも正常に動作するように変更が必要な場合は、私に提案してください
JavaScript コードは次のとおりです。
function addListBoxes(rowPos)
{
allTables[0].deleteRow(rowPos); //first, delete the row
var row = allTables[0].insertRow(rowPos); //reinsert the row
var cell1=row.insertCell(0);
var cell2=row.insertCell(1);
var cell3=row.insertCell(2);
var cell4=row.insertCell(3);
var cell5=row.insertCell(4);
cell1.innerHTML="";
cell2.innerHTML="<select id='relList' name='select' size='5' multiple></select>";
cell3.innerHTML="";
cell4.innerHTML="<select id='relSubList' name='select' size='5' multiple></select>";
cell5.innerHTML="";
}
アップデート
他のいくつかのスレッドでは、document.getElementById が推奨されていることがわかったので、スクリプトを更新しましたが、どちらも機能しません。
function addListBoxes(rowPos)
{
allTables[0].deleteRow(rowPos);
var row = allTables[0].insertRow(rowPos);
row.offsetHeight;
var cell1=row.insertCell(0);
cell1.setAttribute("id", "listRowCell0", 0);
var cell2=row.insertCell(1);
cell2.setAttribute("id", "listRowCell1", 0);
var cell3=row.insertCell(2);
cell3.setAttribute("id", "listRowCell2", 0);
var cell4=row.insertCell(3);
cell4.setAttribute("id", "listRowCell3", 0);
var cell5=row.insertCell(4);
cell5.setAttribute("id", "listRowCell4", 0);
document.getElementById("listRowCell0").innerHTML="";
document.getElementById("listRowCell1").innerHTML="<select id='relList' name='select' size='5' multiple></select>";
document.getElementById("listRowCell2").innerHTML="";
document.getElementById("listRowCell3").innerHTML="<select id='relSubList' name='select' size='5' multiple></select>";
}