2011-05-08 2 views
0

장바구니에 계속 들어가기 전에 두 개의 다른 상자 (각 계약서마다 하나씩)를 확인하여 사용자가 "동의"해야한다는 두 가지 계약서가 있습니다. 상자를 선택하지 않으면 두 경고 모두 한 번에 하나씩 계속 진행하기 전에 "동의 함"으로 알리고 개별적으로 계속합니다. 그러나 "제출 버튼"은 두 항목이 모두 선택되면 제출하고 계속 진행하지 않습니다. 다음을 수행하려면 어떻게해야합니까?자바 스크립트 : 한 페이지에 두 개의 동의 함 확인란을 사용합니다.

모두 선택하지 않았습니까? 알림 1

# 1 선택을 취소 했습니까? 알림 2

# 2 선택을 취소 했습니까? 알리미 3

도와주세요!

<script language="Javascript"> 
function check_agree (form) { 
if (form.agree.checked) { 
} 
else { alert('You must agree to the application agreement terms before continuing.'); } 
} 
form.submitButton.disabled = true; 
function check_agree_2 (form) { 
if (form.agree_2.checked) { 
} 
else { alert('You must agree to both!'); } 
} 
form.submit() 
</script> 

HTML

<form action='http://webisite.com' method='post' onSubmit="return false;"> 
<p> 
<span style="text-align: center"> 
<input type ="checkbox" name="agree" value="anything"> 

<b>I Agree To And Understand The Charges That Will Be Processed To My Credit Card</b></span></p> 
<p>&nbsp;</p> 
<input type ="checkbox" name="agree_2" value="anything"> 

<b>I Have Read And Agree To The Member Agreement/Terms And Conditions </b> 
<p>&nbsp;</p> 
<span style="text-align: center"> 
<input type="submit" name="submitButton" onClick="check_agree(this.form);check_agree_2(this.form)" value="Continue To Shopping Cart"> 

</form> 

답변

2

것은, check_agree를 교체 check_agree_2을 제거하고 제출 버튼을 변경합니다.

function check_agree(form) { 
if (form.agree.checked && form.agree_2.checked) { 
    return true; 
} else if(!form.agree.checked) { 
    alert('You must agree to the application agreement terms before continuing.'); 
} else if(!form.agree_2.checked) { 
    alert('You must allow us to charge your credit card.'); 
} 
return false; 
} 

HTML

<input type="submit" name="submitButton" onClick="check_agree(this.form)" value="Continue To Shopping Cart"> 
+0

감사합니다! 매우 감사! – Pat

1

아마도이 시도 :이와

<script type="text/javascript"> 
    function check_agree (form) { 
     if (form.agree.checked && form.agree_2.checked) { 
      return true; 
     } 
     if (form.agree_2.checked) { 
      alert('You must agree to the application agreement terms before continuing.'); 
     } 
     else if (form.agree.checked) { 
      alert("message #2!"); 
     } 
     else { 
      alert('You must agree to both!'); 
     } 
     return false; 
    } 
</script> 

... :

<form action="http://webisite.com" method='post' onsubmit="return check_agree(this);"> 
<p> 
<span style="text-align: center"> 
<input type="checkbox" name="agree" value="anything"> 

<b>I Agree To And Understand The Charges That Will Be Processed To My Credit Card</b></span></p> 
<p>&nbsp;</p> 
<input type="checkbox" name="agree_2" value="anything"> 

<b>I Have Read And Agree To The Member Agreement/Terms And Conditions </b> 
<p>&nbsp;</p> 
<span style="text-align: center;"> 
<input type="submit" name="submitButton" value="Continue To Shopping Cart"> 
</form> 
+0

굉장! 매력 thephpdeveloper 같은 작품! 매우 감사! – Pat

1

왜 사용자를 alert 좋아하나요? 나는 그것이 좋은 경험이라고 생각하지 않는다.
제 생각에는 모든 체크 박스가 선택 될 때까지 제출 버튼을 비활성화 할 수 있습니다.
HTML :

<input type="checkbox" id="cb1">I Agree To And Understand The Charges That Will Be Processed To My Credit Card<br> 
<input type="checkbox" id="cb2">I Have Read And Agree To The Member Agreement/Terms And Conditions 
<input type="submit" id="button" value="Submit"> 

자바 스크립트 :
여기 은 예입니다

var cb1 = document.getElementById("cb1"), 
    cb2 = document.getElementById("cb2"), 
    button = document.getElementById("button"); 
button.disabled = true;  
cb1.onclick = cb2.onclick = function(){ 
    if(cb1.checked && cb2.checked){ 
     button.disabled = false; 
    } 
    else{ 
     button.disabled = true; 
    } 
}; 

당신은 라이브 여기 데모를 볼 수 있습니다 당신의 도움이 피터에 대한 http://jsfiddle.net/XZyjw/

+0

도움 주셔서 감사합니다. wong2. 이것은 대용량 서비스가 아니므로 경고는 큰 것이 아닙니다. IMHO! 많은 도움을 주셨습니다. 나는 다른 옵션과 내가 숙고하고 있었던 것을 좋아한다! – Pat

관련 문제