2012-04-24 4 views
0

Мне нужно сделать калькулятор очков, чтобы пользователь вводил количество объектов, и сайт расскажет, сколько очков они стоят. до сих пор мне удается это сделать, но я не могу придумать, как остановить пользователя на большее количество объектов, чем есть. Вот код:Как отключить кнопку типа ввода, когда текст типа ввода меньше нуля или больше 24?

<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> 
+1

это действительно все код? – David

+0

Он пропустил тег кода, я отредактировал его сообщение и добавил его. –

ответ

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> 
0

Вам не нужно, чтобы отключить текстовое поле , просто вызовите предупреждение как сообщение об ошибке.

Что-то вдоль линий:

var obj1 = document.forms["form_name"]["obj1"].value; 
if (obj1 < 0 || obj1 > 24) { 
    alert("Error message"); 
    return false; 
} 
+0

предупреждение - плохая практика - блокирует весь браузер. – valentinas

Смежные вопросы