此代码不起作用,我不知道为什么我正在学习Javascripta,但我第一次也在互联网上寻找解决方案,但我发现类似的代码生成,什么将有效
html,javascript,jquery
function gencode(length) {
var result = "";
var characters = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789";
var letters = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz";
var numbers = "0123456789"
var charactersLength = characters.length;
for ( var i = 0; i < length; i++ ) {
result += characters.charAt(Math.floor(Math.random() * charactersLength));
}
return result;
};
$('#btn-generate').click(function(){
$('#secret-code').val = gencode(8);
});
<div class="form-row">
<div class="form-holder">
<fieldset>
<legend>'.$lang['register']['form']['secret-code']['header'].'</legend>
<input type="text" id="secret-code" name="secret-code" placeholder="'.$lang['register']['form']['example']['secret-code'].'" class="required">
</fieldset>
</div>
<div class="form-holder">
<div class="center">
<a class="btn tooltip tt50 generate" id="btn-generate">
<span class="gencode">
<em>'.$lang['register']['form']['secret-code']['button'].'</em><i id="icon-gencode" class="fa fa-code fa-2x"></i>
</span>
</a>
</div>
</div>
</div>
val()
是一种方法,因此要更新值,您可以执行该方法为:
在匹配元素集中设置每个元素的值。
function gencode(length) {
var result = "";
var characters = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789";
var letters = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz";
var numbers = "0123456789"
var charactersLength = characters.length;
for (var i = 0; i < length; i++) {
result += characters.charAt(Math.floor(Math.random() * charactersLength));
}
return result;
};
$('#btn-generate').click(function() {
$('#secret-code').val(gencode(8));
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<div class="form-row">
<div class="form-holder">
<fieldset>
<legend>Legend</legend>
<input type="text" id="secret-code" name="secret-code" placeholder="" class="required">
</fieldset>
</div>
<div class="form-holder">
<div class="center">
<a class="btn tooltip tt50 generate" id="btn-generate">
<span class="gencode">
Generate
<i id="icon-gencode" class="fa fa-code fa-2x"></i>
</span>
</a>
</div>
</div>
</div>
要在jQuery中设置值,您应该使用 val 作为函数
$('#secret-code').val(gencode(8));
$('#secret-code').val(gencode(8));
它只是设置每个匹配元素的值。您可以从下面的链接中阅读所有说明:
http://api.jquery.com/val/