2

嘿!

我有这个代码(只是一个例子):

function random(min, max) {
    return min + parseInt(Math.random() * (max-min+1));
}
function getKey(length, charset) {
    var key = "";
    while(length--) {
        key += charset[random(0, charset.length-1)];
    }
    return key;
}
$(document).ready(function() {
    var key = getKey(16, "0123456789ABCDEF");
});

并希望将此(javascript)“链接”到input[type="submit"]-form ( html )。因此,如果我单击按钮,他每次都会生成一个新的“密钥”。

你能和我一起找到解决方案吗?:-)

4

4 回答 4

2

试试这段代码

<html>
<head>
    <script>
        function random(min, max) {
            return min + parseInt(Math.random() * (max - min + 1));
        }

        function getKey(length, charset) {
            var key = "";
            while (length--) {
                key += charset[random(0, charset.length - 1)];
            }
            return key;
        }
        $(document).ready(function () {
            $('#ipt').click(function () {
                var key = getKey(16, "0123456789ABCDEF");
                alert(key);
            });
        });
    </script>
</head>

<body>
    <input type="button" id="ipt" />
</body>
</html>
于 2013-08-24T20:02:46.273 回答
1

JSFiddle 演示

这使用了一点 jQuery 来更新从 的返回值,为了便于阅读getKey,我已将其重命名。generateKey

新的附加代码:

function getNewKey() {
    $('#key').text(generateKey(16, "0123456789ABCDEF"));
}
$(document).ready(function() {
    getNewKey();
    $('form').on('submit', function(ev){
        getNewKey();
        return false;
    });
});
于 2013-08-24T20:07:49.703 回答
1
$('#key-generator').click(function() {
    key = getKey(length, charset);
    alert(key);
});

jsFiddle

于 2013-08-24T20:01:52.430 回答
1

new_key在 HTML 代码中创建一个带有 id 的按钮

 <button id="new_key" type="button">New key!</button> 

还有你的 javascript 代码

function random(min, max) {
    return min + parseInt(Math.random() * (max-min+1));
}
function getKey(length, charset) {
    var key = "";
    while(length--) {
        key += charset[random(0, charset.length-1)];
    }
    return key;
}
$(document).ready(function() {
    var key = getKey(16, "0123456789ABCDEF");

    $( '#new_key' ).click( function(){
        key = getKey(16, "0123456789ABCDEF");
        alert( key );
    });
});

演示:http: //jsfiddle.net/nohponex/JECWC/2/

于 2013-08-24T20:02:11.870 回答