2015-02-18 2 views
0

У меня есть следующий код. Он отлично работает для пустых полей, но он не улавливает другие числовые исключения. Что я делаю не так?Проверка числовых значений с помощью JavaScript

function validateForm() { 
    var a = document.forms["Form"]["percentage"].value; 
    var b = document.forms["Form"]["minutes"].value; 
    if (a == null || b == null || a == "" || b == "") { 
     alert("Please Fill All Required Field"); 
     return false; 
    } else if (isNan(a) == true || isNan(b) == true) { 
     alert("Please enter valid numeric values"); 
     return false; 
    } else if (parseInt(a) > 100) { 
     alert("Percentage can't exceed 100"); 
     return false; 
    } else if (parseInt(b) < 0 || parseInt(a) < 0) { 
     alert("Values can't be negative"); 
     return false; 
    } 
} 

ответ

0

Изменить эту строку:

else if((isNan(a)==true) ||(isNan(b)==true)){ 

к этому:

else if (isNaN(a) || isNaN(b)) { 

как функция называется #isNaN(). Использование == true в условных выражениях довольно избыточно, поэтому я удалил их.

Я также сделал для вас fiddle. Он содержит фиксированный код, и он работает хорошо.

+0

Резервный, да; но касательной к самой проблеме. –

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