通过单击表单中的按钮,在代码生成中使用javascript生成字母数字代码

通过单击表单中的按钮,在代码生成中使用javascript生成字母数字代码,javascript,html,alphanumeric,Javascript,Html,Alphanumeric,您好,我想知道是否可以通过单击html按钮将字母数字代码(由javascript生成)传递到html文本框 我的意思是,我有一个文本框和一个按钮,如果我点击按钮,它将从java脚本代码中获得生成的代码,并显示在文本框中 这是我的代码(如果您可以编辑此代码,请编辑整个代码…): 无标题文件 函数随机字符串(长度、字符){ 变量掩码=“”; if(chars.indexOf('a')>-1)掩码+='abcdefghijklmnopqrstuvwxyz'; if(chars.indexOf('A'

您好,我想知道是否可以通过单击html按钮将字母数字代码(由javascript生成)传递到html文本框

我的意思是,我有一个文本框和一个按钮,如果我点击按钮,它将从java脚本代码中获得生成的代码,并显示在文本框中

这是我的代码(如果您可以编辑此代码,请编辑整个代码…):


无标题文件
函数随机字符串(长度、字符){
变量掩码=“”;
if(chars.indexOf('a')>-1)掩码+='abcdefghijklmnopqrstuvwxyz';
if(chars.indexOf('A')>-1)掩码+='ABCDEFGHIJKLMNOPQRSTUVWXYZ';
if(chars.indexOf('#')>-1)掩码+='0123456789';
var结果=“”;
对于(变量i=长度;i>0;--i){
结果+=mask[Math.round(Math.random()*(mask.length-1));
}
返回结果;
}
编写(随机字符串(16,'aA#');
生成的代码:

我必须承认,你们试图用掩蔽之类的东西做什么,我只是相信你们的话。那不是我的专长。然而,我认为这解决了你的问题

注意,IE8和IE7支持
节点.attachEvent
而不是
节点.addEventListener
。IE9确实支持node.addEventListener。如果您需要对这些旧IE版本的支持,则需要进行一些检查:

if (addEventListener) {
    document.addEventListener('click', myClickHandler);
} else if (attachEvent) {
    document.attachEvent('onclick', myClickHandler);
}
注意
单击
onclick
的区别

HTML

<h1>Generate Code</h1>
<form>
    <label for="length">Length: </label>
    <input type="text" id="length" name="length" value="10">
    <label for="characters">Characters: </label>
    <input type="text" id="chars" name="chars" value="akdie">
    <label for="gencode"> Generated Code: </label>
    <input type="text" id="gencode" name="gencode">
    <button type="button" id="generate">Generate Now</button>
</form>​

文档。编写
。请不要再使用这个了。使用DOM方法,如
document.getElementById()
node.appendChild()等。
<h1>Generate Code</h1>
<form>
    <label for="length">Length: </label>
    <input type="text" id="length" name="length" value="10">
    <label for="characters">Characters: </label>
    <input type="text" id="chars" name="chars" value="akdie">
    <label for="gencode"> Generated Code: </label>
    <input type="text" id="gencode" name="gencode">
    <button type="button" id="generate">Generate Now</button>
</form>​
function randomString() {
    var gencode = document.getElementById('gencode'),
        length = document.getElementById('length').value,
        chars = document.getElementById('chars').value,
        mask = '',
        result = '';

    console.log(length, chars);

    if (chars.indexOf('a') > -1) mask += 'abcdefghijklmnopqrstuvwxyz';
    if (chars.indexOf('A') > -1) mask += 'ABCDEFGHIJKLMNOPQRSTUVWXYZ';
    if (chars.indexOf('#') > -1) mask += '0123456789';

    for (var i = length; i > 0; --i) {
        result += mask[Math.round(Math.random() * (mask.length - 1))];
    }

    console.log(result);

    gencode.value = result;
}

window.addEventListener('load', function load(){
    document.getElementById('generate').addEventListener('click', randomString);
});