我有一个带有 onLoad 事件的 javascript 动态生成的 html 页面。这是javascript:
function populateTable(q,a1,a2,a3,a4) {
var i;
for (i=0;i<10;i++) {
table = document.createElement("table");
table.appendChild(createQuestion(q,i));
for (var j=0;j<4;j++) {
var answer= eval("a" + (j+1));
table.appendChild(createAnswers(j,answer,i));
}
var tabform= document.getElementById("tablesform");
tabform.appendChild(table);
}
}
function createQuestion(quest,i) {
var row = document.createElement("tr");
var tabd = document.createElement("td");
tabd.setAttribute("class","question");
var qinput=document.createElement("input");
qinput.setAttribute("type","text");
qinput.setAttribute("name","q" + (i+1));
qinput.setAttribute("value",quest[i]);
qinput.setAttribute("readonly","readonly");
qinput.setAttribute("size","50");
row.appendChild(qinput);
var tabd1 = document.createElement("td");
var rdiv = document.createElement("div");
rdiv.setAttribute("id","result" + (i+1));
tabd1.appendChild(rdiv);
row.appendChild(tabd1);
return row;
}
在 FF 中它工作得很好,它制作了 10 个整洁的表格,每个表格在第一行的文本输入中都有问题,所有文本输入字段的大小相同(50)等等。
在 IE8 上,文本字段保持为空,而且它的大小不固定!奇怪的是,如果我查看生成的 html,我会看到:
<FORM id=tablesform method=post action=processquiz.php>
<INPUT value=" - Correct The Test - " type=submit>
<INPUT onclick="window.location='logout.php'" value=" - Log Out - " type=button>
<TABLE>
<TR>
<INPUT value="What browser has the most DHTML extentions?" readOnly size=50 type=text name=q1>
<TD><DIV id=result1></DIV></TD>
</TR>
这很好!可能是什么问题呢?
编辑:文档是 html 4.01 严格的