0

我需要在 7 个表单字段中生成 1 个随机字母。字段示例如下所示。

字母可以重复,但仅基于字母和该字母可以重复的次数

例如

  • ax 7(a 只能重复 7 次)
  • bx 5(b只能重复5次)
  • cx 2 (c 只能重复 2 次)

等等

<input type="text" name="1" maxlength="1" />
<input type="text" name="2" maxlength="1" />
<input type="text" name="3" maxlength="1" />
<input type="text" name="4" maxlength="1" />
<input type="text" name="5" maxlength="1" />
<input type="text" name="6" maxlength="1" />
<input type="text" name="7" maxlength="1" />

到目前为止我有

<script language="javascript" type="text/javascript">
function randomString() {
var chars = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXTZ";
var string_length = 1;
var randomstring = '';
for (var i=0; i<string_length; i++) {
    var rnum = Math.floor(Math.random() * chars.length);
    randomstring += chars.substring(rnum,rnum+1);
}
document.randform.randomfield.value = randomstring;
}
</script>

我有点失落,因为这只会把它放在一个领域。我不确定如何优化我的 javascript,以便它可以生成所有字母(每个字段中 1)并确保字母不会重复超出允许的范围。

有任何想法吗?

4

1 回答 1

0

document.randform.randomfield.value = randomstring;

randomfield 未在您提供的块中指定。我怀疑它被解释为0,在这种情况下你可能会得到第一个字段。或者,您可以将其初始化为您未提供的代码部分中的特定字段。或者(很可能,根据我对 JavaScript 的有限了解)它实际上是一个未显示在 HTML 片段中的字段的名称。

无论如何,这很可能是您的错误所在。如果要将值保存到多个位置,则需要更改要保存值的位置。

于 2013-05-25T02:44:07.237 回答