【发布时间】:2011-07-03 23:44:29
【问题描述】:
我在向 Javascript 中动态创建的元素添加事件时遇到问题。这是代码:
var monto=document.createElement('input');
monto.type='text';
monto.name='monto'+cantpagos;
monto.id='monto'+cantpagos;
if(monto.addEventListener) monto.addEventListener("blur", sumpagos, false);
else if(monto.attachEvent) monto.attachEvent("onblur", sumpagos);
document.getElementById('pagos').appendChild(monto);
但是它不起作用,一旦我移除焦点,就不会调用该函数。我究竟做错了什么?先谢谢了。
编辑:这是更相关的代码:
function sumpagos()
{
var total=0;
for(var i=1;i<=cantpagos;i++)
{
total+=document.getElementById('monto'+i).value;
}
document.getElementById('total').innerHTML="$"+total;
}
function addpago()
{
var i = 0;
var cuota=document.createElement('select');
cuota.name="cuota"+cantpagos;
cuota.id="cuota"+cantpagos;
for(i=1;i<=3;i++)
{
cuota.options[i-1]=new Option("Cuota "+i, i);
}
document.getElementById('pagos').appendChild(cuota);
var monto=document.createElement('input');
monto.type='text';
monto.name='monto'+cantpagos;
monto.id='monto'+cantpagos;
if(monto.addEventListener) monto.addEventListener("blur", sumpagos, false);
else if(monto.attachEvent) monto.attachEvent("onblur", sumpagos);
document.getElementById('pagos').appendChild(monto);
document.getElementById('pagos').innerHTML+="<br />";
cantpagos++;
}
<td id="total">
$0
</td>
<input type="button" name="maspago" value="Añadir un Pago" onclick="addpago();" />
<input type="button" name="memospago" value="Eliminar un Pago" onclick="deletepago();" />
<div id="pagos"></div>
【问题讨论】:
-
您已排除相关的 javascript 和 HTML。您发布的代码没有明显问题。
-
patrick,我将发布受影响的盒子和功能。
-
@Carlos 函数
sampagos定义了吗?typeof sampagos带给你什么? -
你的浏览器报错了吗? :)
标签: javascript html