2013-05-01 2 views
2

일련 번호를 더하여 합계를 만드는이 자바 스크립트가 있습니다. 그런 다음 일련의 숫자에서 가장 낮은 숫자를 찾아 전체에서 빼냅니다. 나는 사용자가 숫자 값을 입력하고 그 숫자를 방정식의 일부로 사용할 수 있기를 원한다. 먼저 코드를 작성한 다음 내가 시도한 것을 알려 드리겠습니다. 내가 추가하여 생각Javascript 방정식에서 양식 필드를 어떻게 참조합니까?

<input name="yellowtape" type="text" id="yellowtape" style="width:243px;"> 

:

var prices = []; 
function remove(arr,itm){ 
    var indx = arr.indexOf(itm); 
    if (indx !== -1){ 
    arr.splice(indx,1); 
    } 
} 

function calculateSectedDues(checkbox, amount) { 
    if (checkbox.checked === true) { 
    prices.push(amount); 
    } else { 
    remove(prices, amount); 
    } 
    var total = 0; 
    for (var i = 0, len = prices.length; i < len; i++) 
    total += prices[i]; 

    var min = prices.slice().sort(function(a,b){return a-b})[0]; 
    if(typeof min === 'undefined') min = 0; 
    var withDiscount = total - min; 
    var discountAmount = withDiscount - total; 
    document.querySelector("#total").innerHTML = total; 
    document.querySelector("#discount").innerHTML = discountAmount; 
    document.querySelector("#newTotal").innerHTML = withDiscount; 
    document.getElementById("FinalTotal").value = withDiscount; 
} 

이것은 내가 방정식으로 끌어하도록 만든 양식 필드는 다음과 같습니다

은 덧셈과 뺄셈을 수행하는 스크립트입니다 :

var withDiscount = total + yellowtape - min ; 

작동하지만 작동하지 않을 수 있습니다. 폼 필드 'yellowtape'에 입력 한 숫자를 var withDiscount에 추가해야합니다.

+1

사용'document.getElementById를 ("yellowtape을") 값 '보다는 단지 하나 개의'작은 제외하고 완벽하게 작동 –

답변

2

yellowtape는 DOM 요소입니다. 당신은 그 값을 가지고 있는지 그것의 수 있도록해야합니다.

var yellowtape = parseFloat(document.getElementById('yellowtape').value); 
var withDiscount = total + yellowtape - min ; 
+0

을 yellowtape'. 그것은 모든 숫자의 해당 배열에 자체를 추가하고 해당 배열에서 가장 작은 숫자 중 하나로 간주하기 때문에 자체를 빼냅니다. 나는 그것을 단독으로, 예외없이, 전체가 무엇이든지간에 스스로 추가하려고한다. 또 다른 단어 yellowtape이 시나리오에서 분 수 있지만 그것을 원하지 않아. – user2339898

0

당신은 당신이 먼저 입력 값을 저장하는 경우 작동이 무엇 :

var yellowtape = document.getElementById('yellowtape').value; 
var withDiscount = total + yellowtape - min ; 
관련 문제