0

私はこれを機能させるために何日も努力してきました。私は基本的なコードを持っていますが、最後の要件を追加しようとするたびに、コードを壊してしまいます。私は多くのことを見逃していると確信しています。そのため、表示数を含む警告ボックスを追加できません。そのため、ユーザー名、表示回数、警告ボックスを尋ねます。無効な回答を入力すると、正しい値を入力するように指示する警告ボックスが表示されます。私が立ち往生している最後の部分は、ユーザーが入力する値によって、名前が表示されるアラートボックスの数が決まり、ボックスがどのボックスであるかを示す必要があることです。つまり、<Name>これは の時間数<count of displays>です<total time to display>。ユーザー Y 変数をリミッターとして、制限と FOR でさまざまなことを試していました。手がかりや助けをいただければ幸いです。

<!DOCTYPE html>
<html>
<body>

<p>Please enter your name followed by how many times you would like to be alerted.</p>

<button onclick="myFunction()">Start</button>



<script>


function myFunction() {
    var x;

    var name = prompt("Please enter your name", "");
    if (name == null || name == "") {
        alert("Please input a name.");

        return false;
    }
    else {
        var y;
        var y = prompt("Please enter a number between 1-10");
        if (y == null || y == "") {
            alert("Please input a number for the times to alert the name.");
            return false;
        }
        if (y > 10) {
            alert("Please input a number between 1 and 10.")
            var y = prompt("Please enter a number between 1-10");

        }
        if (y <= 0) {
            alert("Please input a number great than zero.")
            var y = prompt("Please enter a number between 1-10");

        }
    }
}

</script>

</body>
</html>
4

2 に答える 2

1

変更することはあまりありません。

試す:

function myFunction() {
    var x, y;

    var name = prompt("Please enter your name", "");
    if (name == null || name == "") {
        alert("Please input a name.");

        return false;
    }
    else {
        var y = prompt("Please enter a number between 1-10");
        if (y == null || y == "") {
            alert("Please input a number for the times to alert the name.");
            return false;
        }
        while (y >= 10 || y <= 0) {
            alert("Please input a number between 1 and 10.")
            var y = prompt("Please enter a number between 1-10");
            if (y == null || y == "") {
                alert("Please input a number for the times to alert the name.");
                return false;
            }
        }
    }
    for(var i = 0; i < y; i++) {
        alert("this is an alert");
    }
}

これは、ループ内で 1 <= y <= 10 をチェックします。

http://jsfiddle.net/tMXNM/2/を参照

于 2012-12-26T15:01:06.633 に答える
1

これにより、ほとんどのalertステートメントが削除promptされ、有効な値が送信されるまで継続されます。

function myFunction() {
    var x,y,name = "";
    while(name.length < 1) {
        name = prompt("Please enter your name", "");
    }

    while(!((y > 0) && (y <11))) {
       y = prompt("Please enter a number between 1-10");
    }

    for(x = 0; x < y; x++) {
       alert(name);
    }
}

作業例:

http://jsfiddle.net/DwxmT/

于 2012-12-26T15:07:34.780 に答える