2012-05-21 2 views
0

im는 javascript에서 noob이고 전체 값이 0 미만이 될 때 경고 메시지를 표시하는 방법이 궁금합니다. 해당 페이지가 여기에 있습니다 (http://cashmoneypaid.com)./order-form-phones-work) 그리고 제가 시도한 스크립트는 아래와 같습니다. 도와 줘서 고마워.부정적인 번호로 경고 메시지를 표시하는 방법

function checkTotal() { 
    document.listForm.total.value = ''; 
    var sum = 20; 
    for (i = 0; i < document.listForm.choice.length; i++) { 
     if (document.listForm.choice[i].checked) { 
      sum = sum + parseInt(document.listForm.choice[i].value); 
     } 
    } 
    document.listForm.total.value = sum; 
} 
$("#total").ready(function() { 
    if (sum > 0) { 
     alert("We are sorry, but at this time we can not offer you any money for your item"); 
    } 
});​ 
+0

마크 업입니다 :

$(function(){ var sum = 20; $('form input[type="checkbox"]').change(function(){ if (this.checked) sum -= parseFloat(this.value); else sum += parseFloat(this.value); if (sum < 0) alert('bla bla bla'); }); }); 

Live DEMO

또한이 트릭을 사용할 수 있습니까? 누가'checkTotal'을 부르죠? 'sum'은 준비 콜백에 정의되어 있지 않습니다! – gdoron

답변

0

jQuery을 사용 했으므로 모두 변경하십시오!

$('form input[type="checkbox"]').change(function(){ 
    var value = parseFloat(this.value) * (this.checked ? -1 : 1); 
    sum += value  
    ... 

Live DEMO

+0

안녕하세요 Gdoran 빠른 응답을 주셔서 감사합니다, 내가 말했지만 어떻게 작동하지 않습니다, 당신이 준 예제, 내가 – DEM

+0

@DavidMaldonado로 checkTotal 기능을 대체하는 것입니다. 라이브 데모를 추가했습니다. 기본 자바 스크립트와 jQuery를 배워야한다. – gdoron

+0

라이브 데모에 대한 감사, 확실히 JS/JQuery를 닦을 필요가 있습니다. 1 마지막 질문 : 당신이 준 데모가 수정되어 합계/합계 값이 양식을 통해 전송할 수있는 입력 필드에 어떻게 표시됩니까? 많은 도움을 주셔서 대단히 감사합니다. – DEM

관련 문제