Для вот этого сгенерированного элемента
var counter = document.getElementById("counter");
var tbody = document.getElementById("zakaz_table").getElementsByTagName("TBODY")[0];
var row = document.createElement("TR");
var td1 = document.createElement("TD");
var select1 = document.createElement("SELECT");
select1.setAttribute("name","product"+counter);
select1.setAttribute("id","product"+counter);
select1.onchange = function() { calc(2); }
td1.appendChild(select1);
При наступлении события onChange, функция calc() вылетает с ошибкой (текст из opera 9.64):
Event thread: change
Error:
name: TypeError
message: Statement on line 27: Cannot convert undefined or null to Object
Backtrace:
Line 27 of inline#1 script in
http://mercury/index.php/zakaz: In function calc
if (document.getElementById(line).selectedIndex > 0)
Line 50 of inline#1 script in
http://mercury/index.php/zakaz
function() { calc(2); }
...