2011-10-06 2 views
5

양식 유효성 검사가 true 인 경우에만 실행하려는 jQuery 함수가 있습니다.
유효성 검사 및 기타 jQuery가 정상적으로 작동합니다.
문제는 이제 유효성 검사와 다른 기능이 동시에 실행됩니다.
양식 유효성 검사가 true 인 경우에만 다른 기능을 실행하고 싶습니다. 여기 내 스크립트입니다jQuery myform.valid()가 true이면 다른 jQuery 함수가 실행됩니까?

<script> 
      $(document).ready(function() { 
       $.validator.addClassRules({ 
        fileName: { 
         required: true 
        } 
       }); 
       $("#myform").validate(); 
       if ($("#myform").valid()) { 
        $(function() { 
         $('#myform').submit(function() { 
          var cboxes = ($('input:checkbox:checked').filter(":checked").length); 
          var nboxes = ($(":checkbox:not(:checked)").length); 
          if ((cboxes > 0) && (nboxes > 0)) { 
           confirm('You have Checked only few locations among the List. \n Are you sure, you do not want to Prescribe from the other locations? '); 
          } else if (cboxes == 0) { 
           alert('Please select atleast One Address \n Where you would prefer to prescribe from.'); 
           return false; 
          } 
          else { 
           return true; 
          } 
         }); 
        }); 
       } 
      }); 
</script> 

내가이 작업이 완료 얻을 수있는 방법을 알려 주시기 바랍니다?

+0

코드는 지금까지 무엇을 사용할 수 있나요? 관련 부분을 게시하면 알 수 있습니다. –

답변

3

, 이러한 코드는 지원해야합니다

$(document).ready(function() { 
    $("#myForm").validate({ 
     submitHandler: function(form) { 
      SomeFuncHere(); 
     } 
    }); 
}) 

submitHandler의 코드가 성공적으로 검증 한 후 호출해야합니다.

편집 : 당신의 코드를 기반으로, 대신이 시도 :

$("#myform").validate({ 
    submitHandler: function(form) { 
     var cboxes = ($('input:checkbox:checked').filter(":checked").length); 
     var nboxes = ($(":checkbox:not(:checked)").length); 
     var flag = false; 
     if ((cboxes > 0) && (nboxes > 0)) { 
      flag = confirm('You have Checked only few locations among the List. \n Are you sure, you do not want to Prescribe from the other locations? '); 
     } else if (cboxes == 0) { 
      alert('Please select atleast One Address \n Where you would prefer to prescribe from.'); 
     } 
     else { 
      flag = true; 
     } 
     return flag; 
    } 
}); 
+0

나는 당신의 제안을 골라 낼 수 있었고, 그래서 당신은 나를 더 잘 도울 수있는 스크립트를 붙여 놓았다. – HaBo

+0

지금 편집을 참조하십시오. –

+0

고마워요, 완벽하게 작동했습니다. – HaBo

5

당신은 당신이 단지 수 있도록 jQuery를이 다음 valid() 방법은 양식이 성공적으로 검증 여부를 표시하는 부울을 반환 플러그인 검증 사용하는 경우 : 당신이 standard plugin를 사용하는 경우

if ($("#myform").valid()) { 
    CallSomeOtherFunction(); 
} 
+0

나는 당신의 제안을 고를 수 있었기 때문에 나는 내 스크립트를 붙여 놓았다. 당신은 나를 더 잘 도울 수있다. – HaBo

1

을 당신은 .validate().form()

if (!$("#myform").validate().form()) { 
    return false; //doesn't validate 
}else 
{ 
    //form is validated do your work 
} 
관련 문제