这里尝试在单击combo1时显示mysql表的下拉框。我在firebug中收到以下错误。
combo1.attachEvent不是一个函数 [打破此错误] combo1.attachEvent(“onchange”,GetTables);
任何人都可以帮我制作这段代码吗?
function CreateForm_existing() {
doc.form1.stage.value = "import_setup";
// Empty workarea
EmptyWorkarea(div);
var workarea = doc.getElementById(div);
// Declare vars
var freeVar;
var i;
var a_href;
var table = _table.cloneNode(true); // Create table
var tbody = _tbody.cloneNode(false); // Create tbody
var row1 = _tr.cloneNode(false); // Row for database
var cell11 = _td.cloneNode(false); // Cell for words
var cell12 = _td.cloneNode(false); // Cell for combo
var text1 = doc.createTextNode("Select database: ");
var combo1 = _select.cloneNode(false); // SELECT control for database
combo1.setAttribute("name", "dbName");
combo1.attachEvent("onSelect", GetTables);
combo1.options[combo1.length] = new Option("Select database", ""); // Add "Select database option"
for (i = 0; i < mysqlDatabaseArray.length; i++) {
combo1.options[combo1.length] = new Option(mysqlDatabaseArray[i], mysqlDatabaseArray[i]); // Add databases to options of SELECT control
}
row2 = _tr.cloneNode(false); // Row for tables
cell21 = _td.cloneNode(false); // Cell for word
cell22 = _td.cloneNode(false); // Cell for combo
var text2 = doc.createTextNode("Select table: ");
var combo2 = _select.cloneNode(false); // SELECT control for tables
combo2.setAttribute("name", "dbTableName");
workarea.appendChild(table);
table.appendChild(tbody);
tbody.appendChild(row1);
row1.appendChild(cell11);
cell11.appendChild(text1);
row1.appendChild(cell12);
cell12.appendChild(combo1);
tbody.appendChild(row2);
row2.appendChild(cell21);
cell21.appendChild(text2);
row2.appendChild(cell22);
cell22.appendChild(combo2);
combo1.focus();
}
答案 0 :(得分:0)
你可以尝试:
combo1.attachEvent("onchange", GetTables);
答案 1 :(得分:0)
W3C的方法是:addEventListener(type,function,capture)。 attachEvent()
是特定于IE的。