我在Nprinting中使用javascript应用这个简单的HTML代码 - 我无法获得()的值来使用javascript计算总和,因为Nprinting值(%% aRWgmA %%)将在之后添加运行任务 - 是否有任何其他解决方案来计算总和
谢谢!
<html lang="en">
<head></head>
<body style="margin:0; padding:4px">
<table id="reporttable">
<tr>
<th> Date </th>
<th> Discount Balance </th>
<th> Promo Discount Balance </th>
<th> Plan Balance </th>
<th> Main Accounts </th>
<th> Total </th>
</tr>
<tr>
<td> %%Date1 - Customer Balance Snapshot%% </td>
<td class="somme"> %%aRWgmA%% </td>
<td class="somme"> %%cTzY%% </td>
<td class="somme"> %%DYpRdtH%% </td>
<td class="somme"> %%KgXCjza%% </td>
<td class="somme"> %%tjcDbA%% </td>
</tr>
</table>
<script language="javascript" type="text/javascript">
var tds = document.getElementById('reporttable').getElementsByTagName('td');
var sum = 0;
for(var i = 0; i < tds.length; i ++) {
if(tds[i].className == 'somme') {
sum += isNaN(tds[i].firstChild.data) ? 0 : parseInt(tds[i].firstChild.data);
}
}
document.getElementById('reporttable').innerHTML += '<tr><td>total</td><td>' + sum + '</td></tr>';
</script>
</body>
</html>
答案 0 :(得分:0)
您必须等待DOM加载页面然后运行JS。 最简单的解决方案是使用jquery(我觉得这总是对我有用):
$(document).ready(function(){ /*your code here*/ })
您还可以在正文中添加“onload
”属性
<body onload="run()">