0

ユーザーがオブジェクトの数を入力すると、サイトがそれらのポイントの価値を教えてくれるポイント計算機を作成する必要があります。これまでのところ、なんとかそれを行うことができましたが、ユーザーが存在するよりも多くのオブジェクトを停止する方法は考えられません。コードは次のとおりです。

 <form>
 <input type="text" name="ob1" size="3" value="0/24" onClick="this.value='';" /> object      <input type="text" name="ob2" size="3" value="0/24" onClick="this.value='';" />
 <br>
 <input type="button" value="Calculate Points" onClick="document.getElementById('calcu').innerHTML='Supply points are ' + (ab1.value*5) +'. Tower points are '+(ab2.value*10)+'.'" name="clc"></form>
 <div id="calcu"></div>
4

2 に答える 2

0

jsFiddle(http://jsfiddle.net/gP7SP/15/

私はいくつかの仮定を行っていますが、ここに行きます:

<form>
    Supply:<input type="text" id="supply" name="ob1" size="3" value="0/24" onClick="this.value='';" />
    Tower:<input type="text" id="tower" name="ob2" size="3" value="0/24" onClick="this.value='';" />
    <br/>
    <input type="button" value="Calculate Points" onClick="calculate()" name="clc">
</form>

<div id="calcu"></div>

<script type="text/javascript">
    function calculate()
    {
        // Retrieve the supply and tower values
        var supply = parseInt( document.getElementById("supply").value );
        var tower = parseInt( document.getElementById("tower").value );

        // Make sure supply is less than 24
        if ( supply > 24 )
        {
            alert( "Supply cannot be greater than 24" );
        }
        // Make sure tower is less than 24    
        else if ( tower > 24 )
        {
            alert( "Tower cannot be greater than 24" );
        }
        else
        {
            // Computer new values
            supply = supply * 5;
            tower = tower * 10;

            // Write the values to the calcu div
            document.getElementById("calcu").innerHTML = "Supply points: " + supply + ", Tower points: " + tower;
        }
    }
</script>
于 2012-04-24T22:02:23.650 に答える
0

テキスト ボックスを無効にする必要はありません。エラー メッセージとしてアラートをトリガーするだけです。

次のようなもの:

var obj1 = document.forms["form_name"]["obj1"].value;
if (obj1 < 0 || obj1 > 24) {
   alert("Error message");
   return false;
}
于 2012-04-24T22:57:02.930 に答える