2012-12-12 2 views
0

"삭제"버튼을 클릭 한 후 확인란이 선택되지 않은 경우 경고를 표시하는 방법. 내 HTML 양식은 체크 박스가 선택되지 않은 경우 알림 표시()

<form name="Delete" method="post" action="DeleteAdministrator"> 
       <table width="800px" cellpadding="5" style="color:black; border-top:1px solid #ccc;" border="0"> 
       </table> 
        <div id="container"> 
        <div id="demo_jui"> 
        <table id="adminList" class="display" cellpadding="0" cellspacing="0" border="0" style="font-size:12px;" > 
        <thead id="headed"> 
        <tr> 
         <th align="center" title="Select">Select</th> 
         <th align="center" title="Email Address">Email Address</th> 
         </tr> 
        </thead> 
        <tbody></tbody> 
        </table> 
        </div> 
        </div> 
        <table id="footed"> 
         <tr> 
          <td colspan="2"> 
           <a href="#"><img src="images/Delete.png" style="border:none;" onClick="javascript:Go()" 
           onmouseover="this.src='images/Delete_Hover.png'" onmouseout="this.src='images/Delete.png'"/></a> 
           &nbsp;&nbsp;&nbsp; 
           <a href="#"><img src="images/Reset.png" style="border:none;" onClick="javascript:clearForm()" 
           onmouseover="this.src='images/Reset_Hover.png'" onmouseout="this.src='images/Reset.png'"/></a> 
          </td> 
         </tr> 
        </table> 
       </form> 
</body> 
</html> 

체크 박스 값은 테이블에 검색됩니다. 나는 그것을 테스트 할 때, 확인란을 선택 또는 비 선택, 그것은 여전히 ​​경고 기능 Go()에서

을 "관리자를 삭제하려면 선택하세요", 방법은 올바른 document.Delete.delAdlist[i].checked을 검증인가? 당신이

<script language="JavaScript">      
    var running = 0; 
    function Go() { 
     var f = document.forms[0]; 
     for (i = 0; i < document.Delete.delAdlist.length) { 
      if (!document.Delete.delAdlist[i].checked) { 
       alert("Please select to delete admin."); 
       return false; 
      } 
      else { 
       f.submit(); 
       return true; 
      } 
     } 
     f.submit(); 
     running++; 
    }        
</script> 
+1

에 두 번째 솔루션의 선택을 변경 배열이 아닌 모든 (괄호없이) delAdlist 명명하는 경우? 또한 확인란에 HTML을 게시 할 수 있습니까? 귀하의 자바 스크립트에서 그들을'폼'에서 찾고 있지만, 귀하의'폼'HTML에 아무 것도 없습니다. –

답변

1

를 확인해야합니다 감사합니다이 선택한 항목을 찾아 더 논리적, 그리고 첫 번째가 발견되면 다음과 같습니다 양식을 제출하고 종료합니다. 아무 것도 발견되지 않으면 경고가 표시됩니다. 확인란이 HTML이 아니므로 delAdlist[]이라는 체크 박스 배열이 있다고 가정합니다.

일반 자바 스크립트 솔루션

function Go() { 
    var f = document.forms["Delete"]; 

    for (i = 0; i < f.elements["delAdlist[]"].length; i++) { 
     if (f.elements["delAdlist[]"][i].checked) { 
      f.submit(); 
      return true; 
     } 
    } 

    alert("Please select at least one to delete"); 
} 

jQuery를 해결

function Go() { 
    if($('form[name=Delete] input[name=delAdlist\\[\\]]:checked').length > 0) 
    { 
     $('form[name=Delete]').submit(); 
    } 
    else 
    { 
     alert("Please select at least one to delete"); 
    } 
} 

참고 : 체크 박스가 배열 경우는 위의 코드가 작동합니다. 당신의 체크 박스는 jQuery를이 질문 할 필요가 무엇 최초의 솔루션에서 []을 제거하고 form[name=Delete] input[name=delAdlist]:checked

+0

친애하는 MrCode에게 HTML을 추가했습니다. delAdlist []'는 DeleteAdmin.java 파일로부터입니다 ... 'String [] delAdlist = req.getParameterValues ​​("delAdlist");' – user1661740

+0

자바에서는 delAdList라는 이름을 사용합니다 :' MrCode

0

이 형식으로

var notChecked=0; 
for (i = 0; i < document.Delete.delAdlist.length) 
       { 
        if(!document.Delete.delAdlist[i].checked) 
         notChecked=1; 

       } 

if(notChecked==1) { 
     alert("Please select to delete admin."); 
     return false; 
} 
else { 
    f.submit(); 
} 
0
<script language="JavaScript">      
    var running = 0; 
    function Go() { 
    var f = document.forms[0]; 
    if($("input[type='checkbox']:checked").length < 1) 
     alert("Please select to delete admin."); 
    else 
    f.submit(); 
} 
관련 문제