duanjie9630 2018-03-14 09:11
浏览 125
已采纳

javascript自动生成随机字符串

I want the random string result(output) to display inside the text box so I can saved the value into my database.

(function() {
    function IDGenerator() {     
        this.length = 4;
        this.timestamp = +new Date;
         
        var _getRandomInt = function( min, max ) {
            return Math.floor( Math.random() * ( max - min + 1 ) ) + min;
        }
         
        this.generate = function() {
            var ts = this.timestamp.toString();
            var parts = ts.split( "" ).reverse();
            var id = "TEST";
             
            for( var i = 0; i < this.length; ++i ) {
                var index = _getRandomInt( 0, parts.length - 1 );
                id += parts[index];  
            }
             
            return id;
        }
    }
     
    document.addEventListener( "DOMContentLoaded", function() {
        var btn = document.querySelector( "#generate" ),
            output = document.querySelector( "#output" );
            
        btn.addEventListener( "click", function() {
            var generator = new IDGenerator();
            output.innerHTML = generator.generate();
        }, false); 
    });
})();
<p><button id="generate">Generate</button></p>
<p><code id="output"></code></p>    

NOTE

Any idea on how to fix this? So when every time I click generate button the result will come out in a text box then save the value to my database.

</div>
  • 写回答

2条回答 默认 最新

  • duanduoding2238 2018-03-14 09:29
    关注

    (function() {
         function IDGenerator() {
         
             this.length = 4;
             this.timestamp = +new Date;
             
             var _getRandomInt = function( min, max ) {
                return Math.floor( Math.random() * ( max - min + 1 ) ) + min;
             }
             
             this.generate = function() {
                 var ts = this.timestamp.toString();
                 var parts = ts.split( "" ).reverse();
                 var id = "TEST";
                 
                 for( var i = 0; i < this.length; ++i ) {
                    var index = _getRandomInt( 0, parts.length - 1 );
                    id += parts[index];  
                 }
                 
                 return id;
             }
    
             
         }
         
         
         document.addEventListener( "DOMContentLoaded", function() {
            var btn = document.querySelector( "#generate" ),
                output = document.querySelector( "#output" );
                
            btn.addEventListener( "click", function() {
                var generator = new IDGenerator();
                $("#output").val(generator.generate());
            }, false); 
             
         });
         
         
     })();
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
    <p><button id="generate">Generate</button></p>
        <input type="" id="output" name="">

    </div>
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

悬赏问题

  • ¥15 求差集那个函数有问题,有无佬可以解决
  • ¥15 MATLAB动图问题
  • ¥15 【提问】基于Invest的水源涵养
  • ¥20 微信网友居然可以通过vx号找到我绑的手机号
  • ¥15 寻一个支付宝扫码远程授权登录的软件助手app
  • ¥15 解riccati方程组
  • ¥15 display:none;样式在嵌套结构中的已设置了display样式的元素上不起作用?
  • ¥15 使用rabbitMQ 消息队列作为url源进行多线程爬取时,总有几个url没有处理的问题。
  • ¥15 Ubuntu在安装序列比对软件STAR时出现报错如何解决
  • ¥50 树莓派安卓APK系统签名