2013-10-03 3 views
0

내 양식에 textboxes 커플이 있습니다. 경비와 균형이 거의 없습니다.자바 스크립트 계산 후 저장시 값이 업데이트되지 않습니다

$(document).ready(function() { 


    // add up main numbers 
    $("input[class*='add']").change(function (event) { 
     var sum = 0; 
     var subsum = 0; 
     var num = 0; 
     $("input[class*='add']").each(function (event) { 
      num = parseInt($(this).val()) || 0; 
      sum = sum + num; 
     }); 
     $("input[class*='minus']").each(function (event) { 
      num = parseInt($(this).val()) || 0; 
      sum = sum - num; 
     }); 
     $("input[class*='addcost']").each(function (event) { 
      num = parseInt($(this).val()) || 0; 
      subsum = subsum + num; 
     }); 
     var balance = $("input[id*='txtBegBal']").val() - sum; 
     $("input[id*='txtEnding']").val(balance); 
     $("input[id*='txtTotalCost']").val(subsum); 
    }); 

결과는 내가 "저장"을 클릭하면 그러나, txtTotalCost 여전히 값이 표시, 화면에 올바른 표시 : 비용 textboxes은과 같이 변경 얻을 때

나는 균형을 계산하기 위해 자바 스크립트를 사용하여 javascript이 업데이트되기 전에 제대로 저장되지 않습니다.

누군가 올바른 방향으로 나를 가리킬 수 있습니까?

나는 내 거주자가 모두 if (!Page.IsPostBack)입니다. "비용"에 대해 변경 한 값은 잘 전달되지만 계산되지 않은 필드 일뿐입니다.

+0

변경 사항을 저장하는 나머지 코드는 어디에 사용하십시오. 그리고 저장 클릭에 무슨 일이 일어나고 .. –

+0

아마도 작동하지 않는다는 것을 보여주는 jsfiddle을 함께 넣을 수 있습니까? –

답변

2

여기에 맞춰 보았지만 txtTotalCost는 사용 중지 되었습니까? 비활성화 된 텍스트 필드는 클라이언트 브라우저가 사용할 수 없을 때 서버로 양식 데이터를 다시 보내지 않으므로 이와 같이 업데이트되지 않습니다. 이 경우 viewstate에있는 이전 값을 가져옵니다. 사용하도록 설정하거나 레이블 및 숨겨진 입력 필드를 사용할 수 있습니다.

0

두 번째 제안은 필드가 아직 존재하지 않는다는 것입니다. 사용해보십시오

$("input[class*='add']").on('change', function() { 
    // your code here 
}); 
관련 문제