2011-09-10 128 views
-1

這裏我試圖顯示一個下拉框的mysql表單,當單擊combo1時。在螢火蟲中得到以下錯誤。 combo1.attachEvent(「onchange」,GetTables);這個函數不是一個函數,而是一個函數。Javascript事件觸發錯誤

任何人都可以幫助我使這個代碼工作?

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

在這裏建議jQuery是否是無稽之談? '$(combo1).change(GetTables);'等 –

回答

0

你可以嘗試:

combo1.attachEvent("onchange", GetTables);