2013-08-28 92 views
0

我需要確保最小答案爲5和最大不能超過25。我使用的代碼是較大:JavaScript設置最大最小&問答

function temp(form) 
{ 
    var i = parseFloat(form.Inc.value, 10); 
    var c = 0; 
    c = 25 - ((300 - i) * 8.0/100); 
    form.Fee.value = c.toFixed(2); 

    function decrease(form) 
    { 
     if (c > 25) 
     { 
      c--; 
      document.getElementById('Fee').innerHTML = 25; 
     } 
    } 

    function increase(form) 
    { 
     if (c < 5) 
     { 
      c++; 
      document.getElementById('Fee').innerHTML = 5; 
     } 
    } 
} 

然而,在形式回答框沒有按」不承認最低和最高數字。

+0

你應該添加一些更多的解釋。就目前而言,我幾乎沒有線索,這段代碼打算做什麼。 – Sirko

+0

對不起,我沒有意識到。 – GregSmith

+0

@Sirko代碼使人們可以將值(i)放入表單中,然後計算答案。等式的fo = rmula爲:價值(i)爲每週收入金額,答案爲費用(c)。 – GregSmith

回答

0

form.Fee.value意味着你的表單有一個名爲「Fee」的元素。
The "name" attribute is different from the "id" attribute,並且由於您可能未給出表單元素的id,因此document.getElementById()大概會返回null。
考慮使用document.getElementsByName或使用form.Fee。

此外,reduce()和increase()方法未被調用。
我認爲你正在尋找這樣的代碼:

function temp(form) 
{ 
    var i = parseFloat(form.Inc.value, 10); 
    var c = 0; 
    c = 25 - ((300 - i) * 8.0/100); 

    // Alternatively use Math.min and Math.max 
    if (c > 25) c = 25; 
    if (c < 5) c = 5; 

    form.Fee.value = c.toFixed(2); 
} 

其他注意事項; var c可以用它下面的表達式進行初始化;初始化爲0是不必要的。

相關問題