2013-07-29 52 views
0

我有兩個文本框輸入數字,並使用JavaScript做這些數字的總和。如果elseif用於數值計算的變量

我具有低於條件來顯示結果

  1. 如果文本框1(ID:左)是未定義或值是0 =不顯示任何輸出

  2. 如果文本框1(ID:左)具有的值,文本框2的校驗值(ID:右)

  3. 如果文本框2(ID:右)是未定義或值是0 =不顯示任何輸出

  4. 如果textbox 2(id:right)的值不是undefined \ 0,請檢查textbox 1(id:left)的值,如果textbox 1的值不是undefined \ 0,則顯示結果爲

  5. If文本框2(id:right)的值不是undefined \ 0,請檢查文本框1的值(id:left),如果textbox 1未定義\ 0,則顯示:請在「文本框1」中輸入值

我試圖實現這個使用JavaScript if,elseif語句但不成功

這是小提琴設置:http://fiddle.jshell.net/gYV8Z/6/ Am我在這裏做得對嗎?

+0

你有關於這個問題的jQuery的標籤,但在代碼中沒有的jQuery。你想要一個jQuery的答案或簡單的代碼? – RobG

+0

設置的小提琴沒有任何jQuery用法。因此,我假設@acr正在尋找純JavaScript代碼。 – Prash

回答

0

試試這個

window.onload = function() { 

    var left = document.getElementById('left'), 
     right = document.getElementById('right'), 
     result = document.getElementById("result"); 
    // encase the logic inside the function 
    function check(a, b, elem) { 
     // No need to check for undefined as you using parseFlaot 
     // So you are setting it to zero before passing the values 
     // Just pass them to this function 
     var txt = ''; 
     if (a === 0 || b === 0) { 
      txt = "Please enter values into the input" 
     } 
     else { 
      txt = a + b; 
     } 
     result.innerHTML = txt; 
    } 

    left.onkeyup = calc; 
    right.onkeyup = calc; 

    function calc() { 
     var a = parseFloat(left.value) || 0; 

     var b = parseFloat(right.value) || 0; 
     // Call the method where logic implemented 
     // You need to call it whenever the event is triggered 
     check(a,b, this); 
    } 
} 

Check Fiddle

+0

它滿足1,2和3條件,但不是4和5. – acr

+0

@acr ..檢查更新的代碼 –

0

下面是javascript代碼

HTML:

<div class="input-left"><span><input onblur="calc()" class="textbox" id="left" name="count" type="text" size="5" value="" /></span> 
</div> 
<div class="input-right"><span><input onblur="calc();" class="textbox" id="right" name="count" type="text" size="5" value="" /></span> 
</div> 
<div id="result"></div> 

的Javascript:

function calc() { 
    var a = parseFloat(document.getElementById('left').value) || 0; 
    var b = parseFloat(document.getElementById('right').value) || 0; 
    document.getElementById("result").innerHTML = (a + b) || ""; 
} 
0

您使用的是「IF」「ELSE IF」無功能/操作語句調用時的測試都通過運行。只需在「calc()」函數中包含測試,就可以清理整個事件。

像這樣:

window.onload = function(){ 

var left = document.getElementById('left'); 
var right = document.getElementById('right'); 
var result = document.getElementById("result"); 

function calc() { 
if ((left.value != undefined) || (right.value != undefined)) { 
    var a = parseFloat(left.value) || 0; 
    var b = parseFloat(right.value) || 0; 
    result.innerHTML = (a + b) || ""; 
} else { 
    result.innerHTML = "Enter appropriate values"; 
} 
} 

left.onkeyup = calc; 
right.onkeyup = calc; 
} 

http://jsfiddle.net/gYV8Z/6/embedded/result/