2013-12-15 106 views
-1

美好的一天,javascript計算字段比較算法

我有3個文本輸入欄。

TotalWeight 
CustomUnitWeight 
CustomsNumberOfUnit 

應該有一個驗證,以確保TotalCustomWeight與TotalWeight匹配(既不更高也不低於)。

我開始玩周圍試圖構造函數用於驗證這個沒有運氣,尋找援助

場景:

用戶輸入30 PKG的總重量,然後把自定義單位的數量在2和在10點的重量。點擊功能計算2 * 10 = 20,看看總重量30,並比較總的自定義重量。在這種情況下,20不等於30,因此拋出錯誤消息。

HTML

<input type="text" name="TotalWeight" id="TotalWeight" /> 
<input type="text" name="customsNumberOfUnitsUSA" id="CustomsNumberOfUnits" /> 
<input type="text" name="CustomsUnitWeight" id="CustomsUnitWeight" onChange="ChkWeight();" /> 

JAVASCRIPT

$(function(ChkWeight){ 
    $('#CustomsUnitWeight').click(function() { 
     var TotalWeight = document.getElementById('TotalWeight'); 
     var CustomUnitWeight = document.getElementById('CustomsUnitWeight'); 
     var CustomsNumberOfUnit = document.getElementById('CustomsNumberOfUnits'); 

     var TotalCustomWeight = CustomUnitWeight * CustomsNumberOfUnit; 

     if (TotalWeight != TotalCustomWeight) { 
      error message "pkg weight does not match total custom weight" 
     } 
    }); 
}); 
+0

你的問題是什麼? – Josiah

+0

在如何通過結算和比較兩個值來尋找幫助,如果沒有匹配拋出錯誤 – user2859027

+0

您的代碼的一個明顯問題是您得到兩個輸入元素並試圖將它們相乘,而不是獲取所述輸入的值。 嘗試document.getElementById('TotalWeight')。value;等等。 – Josiah

回答

0

那麼其他一切都在你的代碼罰款只需要把.value的充分利用您的輸入字段值和轉換字符串(簡單文本)浮點類型,然後計算並顯示警告,如

<body> 
    <input type="text" name="TotalWeight" id="TotalWeight" /> 
    <input type="text" name="customsNumberOfUnits" id="CustomsNumberOfUnits"/> 
    <input type="text" name="CustomsUnitWeight" id="CustomsUnitWeight" onblur="CheckWeight()" /> 
    //I have changed the event as onblur and calling CheckWeight() function defined in javascript below. 
</body> 


<script type="text/javascrit"> 
    function CheckWeight() 
    { 
     var TotalWeight = document.getElementById('TotalWeight').value; 
     var CustomUnitWeight = document.getElementById('CustomsUnitWeight').value; 
     var CustomsNumberOfUnit = document.getElementById('CustomsNumberOfUnits').value; 

     //parsing text value to Float type for multipication 
     var TotalCustomWeight = parseFloat(CustomUnitWeight) * parseFloat(CustomsNumberOfUnit); 

     if (TotalWeight != TotalCustomWeight) 
     { 
      alert("pkg weight does not match total custom weight"); 
     } 
    } 
</script 

和Off當然,您必須在計算之前驗證數值是否爲數字。這工作完美。

+0

林試圖找出使用小提琴..沒有運氣 – user2859027

+0

你面臨什麼問題?我可以看看你的小提琴嗎? –

+0

試試我上面的完整代碼。讓我編輯 –