0

ユーザーが 1 から 6 までの値を入力すると、その数のサイコロを振るボックスを作成する必要があります。私はJavaScriptの完全な初心者であり、どんな助けでも大歓迎です。

これが私の機能です:

function NumberValue() {
        for (i = 0; i <['randNumber']; i++){
            var numberRoll = Math.floor(Math.random() * 6) + 1;
            var userNumber = '../images/die' + numberRoll + '.gif';
            myNewTag = "<img id='dieImgRandom' src='" + userNumber + "'>"
            document.getElementById('dieDivRandom').innerHTML += myNewTag;

そして、ここに私の体の要素があります:

<h1>Why don't you pick please?</h1>

<div id="dieDivRandom" style="text-align:center">

<p>

<div id="dieImageRand">

<img id="dieImgRandom" alt="die image" src="../images/die1.gif">

<br>

<input type="text" id="randNumber" size=20 value="Enter 1 through 6">

<input type="button" value="Click to Roll" onclick="NumberValue();">

</div>

この関数では、ユーザーが数字の 1、2、3、4、5、または 6 を送信できるようにする必要があり、その数の画像を画面に表示する必要があります。画像は画像フォルダーに再配置されるため、相対リンクは問題なく機能します。それは実際に私が使用する必要があるものです。ありがとうございました。

4

2 に答える 2

0

交換:

for (i = 0; i <['randNumber']; i++){

と:

for (i = 0; i <document.getElementById('randNumber').value; i++) {

<input />タグには、次のいずれかを使用してアクセスできます。

  1. document.getElementById('inputId').value;
  2. document.formName.inputName.value

最後に、コードは次のようになります。

function NumberValue() {
    for (i = 0; i < document.getElementById('inputId').value; i++) {
        var numberRoll = Math.floor(Math.random() * 6) + 1;
        var userNumber = '../images/die' + numberRoll + '.gif';
        myNewTag = "<img id='dieImgRandom' src='" + userNumber + "'>"
        document.getElementById('dieDivRandom').innerHTML += myNewTag;
    }
}
于 2013-02-18T04:39:20.797 に答える
0

これを使用して、テキストボックスから値を読み取ります

function NumberValue() {     
var ranNum = document.getElementById('randNumber').value;

        for (i = 0; i <ranNum ; i++){

        }

}

編集:

入力した番号を検証したい場合

このコードブロックを追加します

function NumberValue() {     
var ranNum = document.getElementById('randNumber').value;
        if(ranNum < 1 || ranNum > 6) {
           alert("Please enter number from 1 to 6 only");
           return false;
          }

        for (i = 0; i <ranNum ; i++){

        }

        return true;

}
于 2013-02-18T04:40:41.540 に答える