如何在html中自动生成数字?

时间:2018-09-27 01:42:41

标签: javascript html

大家好,我只想问一下如何在html中自动生成序列号?我找到了答案,但我想从0001开始,依此类推。我已经尝试过

<button onclick="myFunction()">Try it</button>
<input id="demo" type="text">
<script>
var seq=0;
function myFunction(){
document.getElementById("demo").value = seq;
}
</script>

,但不会输出000。而且我会将其保存到数据库,因此,如果单击按钮,它将输出保存在数据库中的nextnumber。请帮我谢谢!

4 个答案:

答案 0 :(得分:2)

如果我理解您的问题,那么可以使用多种方法来格式化数字。也许最简单的方法如下:

var seq=0;

function myFunction(){
// Increment the value
seq += 1

// The string value that will be displayed
var value = '';

// If sequence is less than 10, prefix with 000
if(seq < 10) {
    value = '000' + seq;
}
// If sequence is less than 100, prefix with 00
else if(seq < 100) {
    value = '00' + seq;
}
// If sequence is less than 1000, prefix with 0
else if(seq < 1000) {
    value = '0' + seq;
}
// Otherwise, just use the value directly
else {
    value = seq;
}

// Display the formatted value (ie prefixed with 0's)
document.getElementById("demo").value = value;

}
<button onclick="myFunction()">Try it</button>
<input id="demo" type="text"> 

此处的一般模式是根据seq的值在显示的值前加上不同数量的“零”字符。

答案 1 :(得分:1)

<!DOCTYPE html>
<html lang="en">

<head>
    <title>Index</title>
</head>

<body>
    <button onclick="myFunction()">Try it</button>
    <input id="demo" type="text">
    <script>
        var seq = 0;
       
        function myFunction() {
            seq = seq +1;
            number = '0000'.substr(String(seq).length) + seq
            document.getElementById("demo").value = number;
        }
    </script>
</body>

</html>

答案 2 :(得分:0)

var seq = "000" + 0;

只需添加这样,您就会在数字前得到零

答案 3 :(得分:0)

var seq = 0;
function myFunction() {
  document.getElementById("demo").value = `${++seq}`.padStart(4, '0');
}
<html>
<head></head>
<body>
    <button onclick="myFunction()">Try it</button>
    <input id="demo" type="text">
</body>
</html>