使用下面的代码,我能够生成一个随机的最后数字代码,但是我希望它在页面加载时增加1。
应该在元素中显示的输入字段。
function agentId() {
var d = new Date().getTime();
var acode = 'GA000444x'.replace(/[xy]/g, function(c) {
var r = (d + Math.random() * 16) % 16 | 0;
d = Math.floor(d / 16);
return (c == 'x' ? r : (r & 0x3 | 0x8)).toString(16);
});
document.getElementById('acode').innerHTML = acode;
}
window.onload = function() {
agentId();
};
<div class="col-sm-3">
<label for="acode">Agent Code:</label>
<button type="button" id="acode"></button>
</div>
正如注释所暗示的那样,您应该使用localStorage
来存储稍后使用的值。
注意:这里的代码片段不允许localStorage访问,所以请在其他地方测试这段代码。
function increase() {
agentId(++last_digit)
try {
localStorage.setItem(last_digit)
} catch (e) {
console.error(e);
}
}
function agentId(last_digit) {
var d = new Date().getTime();
var acode = 'GA000444x'.replace(/[xy]/g, last_digit);
document.getElementById('acode').innerHTML = acode;
}
var last_digit
window.onload = function() {
try {
last_digit = localStorage.getItem("last_digit") || 0;
} catch (e) {
console.error(e)
last_digit = 1;
}
agentId(last_digit);
};
<div class="col-sm-3">
<label for="acode">Agent Code:</label>
<button type="button" id="acode" onclick="increase()"></button>
</div>