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>
これは1つのフィールドにしか配置されないため、少し迷っています。すべての文字 (各フィールドに 1 つ) を生成できるように JavaScript を最適化し、文字が許可されている範囲を超えて繰り返されないようにする方法がわかりません。
何か案は?