这是我在html标签中显示值的html代码
<table >
<tr><td height="40" colspan="2" align=right>
<div class="headbox" >Order No.</div></td>
<td align=left> <div class="headbox" ><label id=no > </label></div> </td>
</tr>
这些是在表单加载时显示标签中的数字的javascript函数
function noDisplay(){
var value =1
document.getElementById('no').innerHTML = value;
}
window.onload = function(){
noDisplay()
};
虽然我希望每次加载表单时将数字的值增加1,但它仍然保持为1!我怎样才能纠正这个问题(即在提交或再次加载表单时将值增加到2?)
答案 0 :(得分:1)
问题是当重新加载页面时,变量(值)总是被初始化为0。您需要保存变量somwhere并在重新加载页面时使用旧值初始化它。如果你只想让它适用于一个用户,你可以使用cookie(http://www.w3schools.com/js/js_cookies.asp),或者你可以将它作为服务器保存在文档或数据库中,如果你想让它适用于多个并行用户。 / p>
答案 1 :(得分:1)
一般来说,在保存之前公开订单号是个坏主意,原因有很多:
出于这些原因,最好不要在订单号上公开任何内容,只有在数据真正保存在数据库上后才返回数字。相反,如果您在更新表单中,则可以轻松地公开已保存在数据库中的数据。
答案 2 :(得分:1)
您还可以使用localStorage变量来保存值。
function noDisplay(){
var count = localStorage.getItem("count")==null?1:localStorage.getItem("count");
count=Number(count)+1;
localStorage.setItem("count", count);
document.getElementById('no').innerHTML = count;
}
这是更新标签以显示仅加载表单的次数。如果您需要订单号,则只需从服务器传递订单号。
答案 3 :(得分:0)
你可以使用cookies。从cookie中读取值(如果存在)并递增1,否则显示1。 一个简单的例子可以在http://www.w3schools.com/js/js_cookies.asp
找到一个工作示例:https://jsfiddle.net/amf3bygk/1/默认情况下创建一个counter = 0。
document.cookie = "counter=0";