2013-12-11 77 views
0
function check1() 
{ 
    var min = 01; 
    var max = 1200; 
    var input = document.getElementById('price'); 

    var is_valid = (min < inputValue || max > inputValue); 


    } 
    else { 
     alert(inputValue + ' is not between ' + MIN + ' and ' + MAX); 
     return false; 

上面的腳本運行良好,但它忽略了一些功能我怎樣才能使這兩種報警功能和小數功能工作

我怎樣才能使雙方的工作?

+1

爲什麼Java標籤????????? –

回答

2

您正在檢查它是否小於最大值或大於最小值。假設最大<,那麼這將永遠是真實的。

您需要一個檢查(對於內部範圍)或翻轉比較(對於外部範圍)。

+0

好吧,我會嘗試 – user3084317

+0

我翻轉了他們,但它仍然沒有顯示警報 – user3084317

+0

如果翻轉比較,你也必須否定整個結果。 –

1

is_valid該行應該是

var is_valid = (min < inputValue && max > inputValue); 

此外,MINMAX是不一樣minmax

編輯:它也似乎就像你想顯示最小和最大的小數點位數。如果你需要兩位數字,你可以這樣做:

alert(inputValue + ' is not between ' + min.toFixed(2) + ' and ' + max.toFixed(2)); 
1

你的邏輯是不正確的。

如果inputValue大於min,則is_valid將爲true或小於max。由於max大於min,所以兩者中的一個總會發生。更改條件:

var is_valid = min < inputValue && max > inputValue; 
1

我覺得你有你的is_valid條件逆轉

var is_valid = (inputValue >= min && inputValue <= max); 
0

錯誤的邏輯,改變

var is_valid = (min < inputValue || max > inputValue); 

var is_valid = (min < inputValue && max > inputValue); 

More

+0

它現在向我顯示警報,但它刪除了小數 – user3084317