Javascript事件触发错误

时间:2011-09-10 08:58:15

标签: javascript dom

这里尝试在单击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();

}

2 个答案:

答案 0 :(得分:0)

你可以尝试:

combo1.attachEvent("onchange", GetTables); 

答案 1 :(得分:0)

W3C的方法是:addEventListener(type,function,capture)attachEvent()是特定于IE的。