动态数据加载在Java脚本中不起作用

时间:2018-09-04 05:53:12

标签: javascript html forms

我所拥有的:

在index.html中,我有4个表单字段,例如年薪,年薪增加,现年,退休年龄。使用我正在Valid.js中验证它们的ID 在验证时,我将这些值设置在本地存储中。

// Index.html  //提交后

    function Validation()
{
//valid.js file using ids of forms 

    var Ann=document.getElementById("Annsal").value;
    var Sal=document.getElementById("SalInc").value;
    var Page=document.getElementById("PreAge").value;
    var Rage=document.getElementById("RetAge").value;
    var Ys=document.getElementById("Yss").value;
    var Nn=document.getElementById("Noo").value;





            // Storing the value above into localStorage
            localStorage.setItem("Asal", Ann);
            localStorage.setItem("Asalinc", Sal);
            localStorage.setItem("Present", Page);
            localStorage.setItem("Retir", Rage);
            localStorage.setItem("Yssss", Ys);
            localStorage.setItem("Nnnn", Nn);


    if(Ann=="")
    {
        document.getElementById("user").innerHTML="**Please Enter the Annual Salary**";
        return false;

    }

然后,我再取一个confirm.html和calculate.js对该用户输入的数据执行一些操作,然后在另一个网页中以表格格式打印。

// Confirm.html

<html>
<head>
<script src="calculate.js"> 
</script>
</head>    

<body onload="init();">

</body>

</html>

现在,我在javascript文件中遇到问题,我使用本地存储功能的getitem检索了这些数据。

//calculate.js
/ Called on body's `onload` event
    function init() {

        // Retrieving the text input's value which was stored into localStorage

         var a=localStorage.getItem("Asal");
         var b=localStorage.getItem("Asalinc");
         var c=localStorage.getItem("Present");
         var d=localStorage.getItem("Retir");
         var e=localStorage.getItem("Yssss");
         var f=localStorage.getItem("Nnnnn");




        // Writing the value in the document
        document.write("<table><tr><th>Age&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</th><th>Annual Sal&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</th><th>BiWeekly-Pre&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</th><th>Monthly-Pre&nbsp;&nbsp;&nbsp;</th><th>Cumulative-Pre&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</th><th>Basic&nbsp;&nbsp;&nbsp;</th><th>Total&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</th></tr>")



        for(i=c;i<=101;i++){


            //calculate your formulas here
            // example-- calculating basic salary 

            //use your own formula
            if(i<45)
            {
            basic= salary/2;
            }
            else 
            {
            basic=salary*0.4; 
            }

            //display the content   


        document.write("<tr><td>"+i+"</td><td>"+basic+"</td></tr>")         
        }

        document.write("</table>");

    }

但是这些值正在存储,但是for循环不能正常工作,数据不是仅打印,而是那些表头,为什么这个错误有人可以建议解决此问题...

1 个答案:

答案 0 :(得分:0)

我立即看到的问题是您的评论有误:

/ Called on body's `onload` event

这位于您的calculate.js文件顶部附近。做到这一点:

// Called on body's `onload` event

它将被部分修复。但是,您会在JavaScript控制台中发现更多错误。