我所拥有的:
在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 </th><th>Annual Sal </th><th>BiWeekly-Pre </th><th>Monthly-Pre </th><th>Cumulative-Pre </th><th>Basic </th><th>Total </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循环不能正常工作,数据不是仅打印,而是那些表头,为什么这个错误有人可以建议解决此问题...
答案 0 :(得分:0)
我立即看到的问题是您的评论有误:
/ Called on body's `onload` event
这位于您的calculate.js
文件顶部附近。做到这一点:
// Called on body's `onload` event
它将被部分修复。但是,您会在JavaScript控制台中发现更多错误。