2

クイックアップデート!

私はそれを修正したかもしれません。コードは次のようになります。

<script type="text/javascript">
    function rangeAnswers() {
    var answer = prompt ("How much do you like pizza?")
    if (answer > 0 )

            confirm("That's a bit low")
            window.location="http://www.continue.com";


        if (answer > 20 )

            confirm("Quite a decent score, isn't it?")
            window.location="http://www.continue.com";

    }
</script>

そして、それは機能します。この時点で、<0 または > 100 の最後に他の if を入れると、エラー メッセージが表示され、その 2 つの小さな if でページにリンクすることなく、ページにとどまることができると思います。


まず最初に、私は js を使い始めたばかりなので、これは少しばかげているかもしれません。

これが私がしなければならないことです。クリックすると呼び出される関数を含む通常の HTML リンクがあり、ユーザーに「ピザはどれくらい好きですか (0 100)?」のような質問をします。

ユーザーが数字を入力すると、別の回答が必要になります。それでも、彼が書いた数字に基づいて、とにかくリンクに移動します(ユーザーをここに送り返すためのコントロールはありません)。

0 ~ 25、26 ~ 50、51 ~ 75、71 ~ 100 に 4 つの主要なブレークポイントが必要です ELSE (値が低いか高い) アラート (「指定した番号は無効です」) が表示され、ページにとどまるため、ユーザーはもう一度クリックして、正しい値を入力します (その場合は特に何もしません)。

彼が正しい値を挿入するときに私が欲しいのは、0-25「あなたはそれがあまり好きではない」、26-50「良くないが悪くはない」などとしましょう + リンク.

これが私のHTMLです:

<h2><a href="javascript:rangeAnswers();">Click here to tell us how much you like pizza and continue!</a></h2>

そして、これがロードされていない私のJavascript関数の基礎です! 簡単な Ok/cancel プロンプトを試してみましたが、うまくいきましたが、まだ if/else ステートメントのロジックを取得できません。 これは古いコードです。正しいコードを貼り直しました。 function rangeAnswers() { var answer = prompt ("ピザはどれくらい好きですか?") if (answer) > 0

        {
            alert= "That's a bit low"
            window.location="http://www.continue.com";
        }    else

            if (answer) > 20

        {
            alert= "You don't like it nor hate it"
            window.location="http://www.continue.com";
        } else

    }
</script>

今のところはこれですべてだと思います。返信を待っている間、まだこれに取り組もうとしていますが、しばらく時間が経ち、不足しているものを取得できません。

更新された作業コードはこちら

ただし、アラート/プロンプトは読み込まれません。

function rangeAnswers() {
    var answer = prompt ("How much do you like pizza?")
    if (answer > 0 )

            alert= "Nice!"
            window.location="http://www.continue.com";


        if (answer > 20 )

            alert= "Nice!"
            window.location="http://www.continue.com";

    }
4

4 に答える 4

0

間違った文法が原因でプロセスが進まなかったと思います:

<script type="text/javascript">
function rangeAnswers() {

    var answer = prompt ("How much do you like pizza?");
    answer = answer - 0;
    if(isNaN(answer))
    {
        alert("The number you specified is invalid");
    }else if (answer >= 0 && answer <=25)
    {
         alert("You don't like it very much");
         window.location="http://www.continue.com";
    }else if (answer > 25 && answer <=50)
    {
        alert("Not good but not bad");
        window.location="http://www.continue.com";
    } 
    //and so on ....
}
</script>
于 2013-07-26T10:39:36.160 に答える
0

コードでこれを試してください

 function rangeAnswers() {
        var answer = prompt ("How much do you like pizza?")       
       if (answer<=25 && answer =>0){
            alert("That's a bit low")//you are not alerting your data properly.
            window.location.href="http://www.continue.com";//use window.location.href instead of window.location
       }
        else if (answer<=50 && answer =>25){
             alert("You don't like it nor hate it")
            window.location.href="http://www.continue.com";
        }
    }

更新: 同じことを行う他の方法は、スイッチケースを使用することです。

function rangeAnswers() {
            var answer = prompt ("How much do you like pizza?") 
    switch(true){
          case answer<=25 && answer =>0:
                alert("That's a bit low")//you are not alerting your data properly.
                window.location.href="http://www.continue.com";//use window.location.href instead of window.location
           break;
           case answer<=50 && answer =>25:
                 alert("You don't like it nor hate it")
                window.location.href="http://www.continue.com";
            break;
        }
    }
于 2013-07-26T10:34:44.097 に答える