首页 > 解决方案 > 我们如何使用 javascript 从 nprinting 变量中获取值

问题描述

我在 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>

标签: javascripthtmlqlikviewqliksense

解决方案


您必须等待 DOM 加载页面,然后运行 ​​JS。最简单的解决方案是使用 jquery(我发现这总是对我有用):

$(document).ready(function(){ /*your code here*/ }) 

你也可以onload在body里面放一个“”属性

<body onload="run()">

推荐阅读