2013-02-14 5 views
-1

성명을 확인하기 위해 확인란과 수량이 서로 일치하지만 적어도 하나 이상의 제품이 선택되었는지 또는 총 수량 0보다 큰 값이 제공됩니다. 어떻게하면 좋을까요?확인란 - 하나 이상의 상자가 선택되어 있는지 확인

if (((document.form1.summer.checked) && (summer2012 <= 0)) || 
    ((document.form1.autumn.checked) && (autumn2012 <= 0)) || 
    ((document.form1.winter.checked) && (winter2012 <= 0))) 
{ 
    alertmsg = alertmsg + "Please enter Quantity" + "\n"; 
} 
else if (((!document.form1.summer.checked) && (summer2012 > 0)) || 
    ((!document.form1.autumn.checked) && (autumn2012 > 0)) || 
    ((!document.form1.winter.checked) && (winter2012 > 0))) 
{ 
    alertmsg = alertmsg + "Please choose Product" + "\n"; 

} 

HTML :

이미 어떤 상자를 확인하기 위해 해당 (양) 양, 그리고 두 번째 테스트가 있어야합니다 확인을 위해 다음 사항을 확인하기위한 테스트를 가지고있는 것 같습니다
<tr> 
    <td align="right">Summer 2012</td> 
    <td> 
     <input type="checkbox" name="summer" value="Summer 2012" /> 
    </td> 
    <td align="center" width="69"> 
     <div align="right">20.00</div> 
    </td> 
    <td width="216"> 
     <input name="summer2012" type="text" size="5" value="0" /> 
    </td> 
</tr> 
<tr> 
    <td align="right">Autumn 2012</td> 
    <td> 
     <input type="checkbox" name="autumn" value="Autumn 2012" /> 
    </td> 
    <td align="center" width="69"> 
     <div align="right">20.00</div> 
    </td> 
    <td> 
     <input name="autumn2012" type="text" size="5" value="0" /> 
    </td> 
</tr> 
<tr> 
    <td align="right">Winter 2012</td> 
    <td> 
     <input type="checkbox" name="winter" value="Winter 2012" /> 
    </td> 
    <td align="center" width="69"> 
     <div align="right">20.00</div> 
    </td> 
    <td> 
     <input name="winter2012" type="text" size="5" value="0" /> 
    </td> 
</tr> 
+0

우리가 너무 HTML을 볼 수 있을까요? –

+0

첫 번째'if' 블록은'ch1.checked'가 아닌'summer.checked'를 검사한다고 가정합니다. – Alnitak

+0

예 죄송합니다, 제 실수는 – user2073133

답변

1

그 어떤 긍정적 인 금액 또한 그것에 대한 수표가 있습니다.

그러므로 일부 체크 박스가 선택되어 있는지 확인해야합니다.

var f = document.form1; 
if (f.summer.checked || f.autumn.checked || f.winter.checked) { 
    // we're OK! 
} 
+0

고마워요. 내 체크 박스와 수량이 서로 일치한다고 들었지만 최소한 하나의 제품이 선택되었거나 0보다 큰 총량이 – user2073133

+0

@ user2073133으로 제공되었는지 확신하지 못했기 때문에이 _additional_ 테스트는 적어도 하나가 선택되었습니다. 원래 테스트 (이전 테스트)가 나머지 작업을 수행합니다. – Alnitak

+0

감사합니다. 수량에 대한 정규 표현식을 작성했으며 주문할 수있는 최대 값은 각각 (여름, 가을, 겨울)에 500입니다. 이 표현식은 다음과 같습니다 : - var chkquantity =^([1-9]? \ d | [1-4] \ d {2} | 500) $/ – user2073133

0

이 어떤 확인란이 선택되어 있는지 제가 확인 할 방법은 다음과 같습니다

var checkboxElements = [ 
    document.form1.ch1, 
    document.form1.autumn, 
    document.form1.winter, 
    document.form1.summer 
]; 

function anyChecked(checkboxElements) { 
    for(var i = 0; i < checkboxElements.length; i++) 
     if(checkboxElements[i].checked) 
      return true; 
    return false; 
} 
관련 문제