2014-05-01 50 views
0

我正在使用JavaScript的信用卡表單上工作。當其中一個爲空時,一起添加2個輸入字段

很多時候,我的客戶會給我發更多錢,所以爲了讓事情變得容易,並防止我失去潛在的資金,我有一個Price字段,顯示他們將收取的總金額。我現在增加了一個Tip字段,這將允許他們添加到該價格。

下面是一些JavaScript/jQuery的我到目前爲止,當他們在尖峯值輸入更新我的價格領域...

$('.price_tip').keyup(function() { 
    var tip = $('.price_tip').val(); 
    var price = $('.price').val(); 
    var total = parseInt(price) + parseInt(tip); 
    $('.price').val(total); 
}); 

這工作不錯,幾乎只是,如果我從我的提示刪除一切輸入框,然後我的總價格字段變成NaN。

我需要確保我的價格字段總是顯示至少我的賬單結算我的客戶,如果一個提示值被刪除。

這是我可以使用一些幫助嗎?


UPDATE

這裏是我的最新嘗試,它似乎工作,我可以從提示框去掉一切,我的總價格字段不會去NaN現在。我發現了另一個問題,如果輸入了一個非數字項目,那麼它會混亂起來。

我不知道如何確保它是一個數字值?

$('.price_tip').keyup(function() { 
    var tip = $('.price_tip').val(); 
    if(tip < 1){ 
    tip = 0; 
    } 
    var price = $('.price').val(); 
    var total = parseInt(price) + parseInt(tip); 
    $('.price').val(total); 
}); 
+1

如果它是空字符串,則將默認價格設置爲零。 – elclanrs

回答

1

您是否嘗試過使用isNaN(variableName)函數?這個函數會告訴你,如果variableName的內容是非法的數字。所以,

isNaN(「123」)將是錯誤的意思是這不是一個非法數字 isNaN(「12/3」)將是真實的,這意味着它是一個非法的數量

希望這有助於

1

當尖端輸入是空的,$('.price_tip').val()返回一個空字符串,則後續parseInt返回NaN,加入多種和NaN時,結果爲NaN。

檢查parseInt的結果是否通過isNaN,並且只有它是一個數字纔會將其加到總數中。如果它不是一個數字,你也會把它顯示給用戶,輸入無效。

相關問題