通过单击表单中的按钮,在代码生成中使用javascript生成字母数字代码
generating a alphanumeric code using javascript in code generation, by clicking a button in form
嗨,我想知道是否可以通过单击html按钮将字母数字代码(由javascript生成)传递到html文本框中?
所以我的意思是,我有一个文本框和一个按钮,如果我点击按钮,它将从java脚本代码中获得生成的代码,并显示在文本框中。。。
这是我的代码(如果你能编辑这个,请编辑整个代码…):
<html>
<head><title> Untitled Document </title></head>
<body>
<script type="text/javascript">
function randomString(length, chars) {
var mask = '';
if (chars.indexOf('a') > -1) mask += 'abcdefghijklmnopqrstuvwxyz';
if (chars.indexOf('A') > -1) mask += 'ABCDEFGHIJKLMNOPQRSTUVWXYZ';
if (chars.indexOf('#') > -1) mask += '0123456789';
var result = '';
for (var i = length; i > 0; --i) {
result += mask[Math.round(Math.random() * (mask.length - 1))];
}
return result;
}
document.write(randomString(16, 'aA#'));
</script>
<form>
<label for="gencode"> Generated Code: </label>
<!-- here is the problem I don't know what am I -->
<input type="text" id="gencode" name="gencode">
<!-- going to put on he onclick and on the value -->
<input type="button" value="generate now">
</form>
</body>
</html>
我必须承认,你想用口罩做什么,我只是相信你的话。这不是我的专长。然而,我认为这解决了你的问题。
注意,IE8和7支持node.attachEvent
而不是node.addEventListener
。不过,IE9确实支持node.addEventListener
。如果你需要支持那些旧的IE版本,你需要做一些检查:
if (addEventListener) {
document.addEventListener('click', myClickHandler);
} else if (attachEvent) {
document.attachEvent('onclick', myClickHandler);
}
注意click
和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>
Javascript
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);
});
http://jsfiddle.net/userdude/ub26g/
相关文章:
- RegEx JavaScript:数字后的符号提取
- HTML文本框中的javascript数字
- Javascript数字选择器函数
- 我无法让我的javascript数字分类器工作
- 以零结尾的Javascript数字
- Javascript数字放置和如何,4 = 0.04,14 = 0.14,100 = 1.00
- JavaScript 数字近似
- Javascript数字验证功能起作用+需要建设性的批评
- 在小数点后给出一个固定宽度的 JavaScript 数字,同时保留一个数字
- Javascript 数字表示
- Javascript数字变量比较不起作用
- JavaScript 数字继承
- 如何将包含科学记数法的字符串转换为正确的 Javascript 数字格式
- JavaScript:数字计数器实时更新
- Javascript数字到单词 - vigesimal
- Javascript数字到单词 - vigesimal 200-999
- 将 JavaScript 数字转换为小数点后两位
- 带有输入模式的 Javascript 数字和逗号
- 我如何让这个 JavaScript 数字猜谜游戏在没有“while”或“for”循环的情况下工作
- Javascript数字辅助