Ошибка запуска события Javascript - PullRequest
0 голосов
/ 10 сентября 2011

Здесь я пытаюсь отобразить раскрывающийся список таблицы MySQL при нажатии на combo1.получаю следующую ошибку в firebug.

combo1.attachEvent не является функцией [Break On This Error] 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 голосов
/ 10 сентября 2011

W3C способ сделать это с помощью: addEventListener (тип, функция, захват) .attachEvent() зависит от IE.

0 голосов
/ 10 сентября 2011

Вы можете попробовать:

combo1.attachEvent("onchange", GetTables); 
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...