2013-08-08 2 views
1

jQuery 유효성 검사 문제가 있습니다. 나는 여러 번 요청되었습니다 알고 있지만 난 여전히 내가 잘못jQuery validate returns : Object [object Object]에 'validate'메서드가 없습니다.

내가이 HTML이 뭐하는 거지 표시되지 않습니다 (편집 : 추가 된 전체 HTML 파일) :

<!DOCTYPE html> 
<html> 
<head> 
    <title>Zaposli me :D</title> 
<meta charset='utf-8'> 
<meta name="viewport" content="width=device-width, initial-scale=1.0"> 
<meta http-equiv="X-UA-Compatible" content="IE=edge"> 
<!-- Bootstrap --> 
<link href="../assets/css/bootstrap.min.css" rel="stylesheet" media="screen"> 
<link href="../assets/css/styles.css" rel="stylesheet" media="screen"> 
<link href="../assets/css/datepicker.css" rel="stylesheet" media="screen"> 
<link href="../assets/css/login.css" rel="stylesheet" media="screen"> 
<!--  <script src="http://code.jquery.com/jquery-1.10.1.min.js"></script>--> 
<script src="../assets/js/jquery-1.9.0.js"></script> 
<script src="../assets/js/bootstrap.min.js"></script> 
<script src="../assets/js/jquery.validate.js"></script> 
<script src="../assets/js/bootstrap-datepicker.js"></script> 
<script src="../assets/js/holder.min.js"></script> 
<script src="../assets/js/ajax.js"></script> 
<script src="../assets/js/validation.js"></script> 


<style type="text/css"> 
    label.valid { 
     width: 24px; 
     height: 24px; 
     /*background: url('assets/img/valid.png') center center no-repeat;*/ 
     display: inline-block; 
     text-indent: -9999px; 
    } 
    label.error { 
     font-weight: bold; 
     color: #ff4932; 
     padding: 2px 8px; 
     margin-top: 2px; 
    } 
</style> 

</head> 
<body> 

<div class="row container-color"> 
<div class="col-lg-12"> 
    <div class="panel"> 
     <div class="panel-heading"><i class="icon icon-chevron-up chevron"></i> 
      <i class="icon icon-wrench pull-right"></i> Dobrodošli 
     </div> 
     <div class="panel-content form-horizontal"> 

      <div class="row"> 
       <!-- ========================================== LEFT PART ========================================== --> 
       <div class="col-lg-6"> 
        <form method="POST" id="registrationForm" action="../controllers/forms.php?register=true"> 
         <fieldset> 
          <legend>Registruj se</legend> 
          <div class="form-group"> 
           <label for="email">Email adresa</label> 
           <input name="email" type="text" class="form-control input-small" id="email" placeholder="Unesite email"> 
          </div> 
          <div class="form-group"> 
           <label for="name">Ime</label> 
           <input name="name" type="text" class="form-control input-small" id="name" placeholder="Vaše ime"> 
          </div> 
          <div class="form-group"> 
           <label for="birth">Datum rođenja</label> 
           <input name="birth" type="text" class="form-control input-small datepicker" id="birth" placeholder="Unesite vas datum rodjenja"> 
          </div> 
          <div class="form-group"> 
           <label for="unique_number">Jednistveni broj</label> 
           <input name="unique_number" type="text" class="form-control input-small" id="unique_number" placeholder="Password"> 
          </div> 
          <div class="form-group"> 
           <label for="password">Šifra</label> 
           <input name="password" type="password" class="form-control input-small" id="password" placeholder="Password"> 
          </div> 
          <div class="form-group"> 
           <label for="repeated_password">Ponovite šifru</label> 
           <input name="repeated_password" type="password" class="form-control input-small" id="repeated_password" placeholder="Password"> 
          </div> 
          <div class="control-group"> 
           <label></label> 
           <div class="controls"> 
            <button type="submit" class="btn btn-default">Registruj se</button> 
           </div> 
          </div> 
         </fieldset> 
        </form> 
       </div> 

       <!-- ========================================== CENTRAL PART ========================================== --> 
       <div class="col-lg-6"> 
        <form method="POST" id="loginForm" action="../controllers/forms.php?login=true"> 
         <fieldset> 
          <legend>Uloguj se</legend> 
          <div class="form-group"> 
           <label for="loginEmail">Email adresa</label> 
           <input name="loginEmail" type="text" class="form-control input-small" id="loginEmail" placeholder="Unesite email"> 
          </div> 
          <div class="form-group"> 
           <label for="pass">Password</label> 
           <input name="pass" type="password" class="form-control input-small" id="pass" placeholder="Password"> 
          </div> 
          <div class="control-group"> 
           <label></label> 
           <div class="controls"> 
            <button type="submit" class="btn btn-default">Uloguj se</button> 
           </div> 
          </div> 
         </fieldset> 
        </form> 
       </div> 


      </div> 

     </div><!--/panel content--> 
    </div> 

</div> 
</div> 
<script> 
    $('.datepicker').datepicker(); 
</script> 
<!-- JavaScript plugins (requires jQuery) --> 
<script src="http://code.jquery.com/jquery.js"></script> 
<!-- Include all compiled plugins (below), or include individual files as needed --> 
<script src="../assets/js/bootstrap.min.js"></script> 

</body> 
</html> 

을 그리고이 파일을 JS (검증 의 .js) :

jQuery(function(){ 
    $('#loginForm').validate({ 
     rules: { 
      loginEmail: { 
       required: true 
      } 
     } 
    }); 
}); 

그리고 여기 내 포함 된 파일은 다음과 같습니다

<script src="../assets/js/jquery-1.9.0.js"></script> 
    <script src="../assets/js/jquery.validate.js"></script> 
    <script src="../assets/js/validation.js"></script> 

내가로드하지에 대한 오류를 얻을하지 않습니다 파일. 하지만 개체에 [NULL]에 대한 오류가 발생합니다 [개체 개체] '유효성 검사'메서드가 있습니다. 왜 그런지 압니까?

+0

소스 탭에서 스크립트를 검사하고'validate.js'가 실제로로드되었는지 확인하십시오. –

+2

오류는 단순히'.validate()'코드가 호출되었을 때 플러그인을 사용할 수 없다는 것을 의미합니다. 우리가 볼 수없는 곳에서 jQuery의'.noConflict()'메소드를 사용하고 있습니까? '.validate()'코드를 외부 파일 대신 페이지에 넣으려고 했습니까? 어떤 기본적인 문제 해결을 수행 했습니까? 어떤? – Sparky

+0

@ Sushanth-- validate.js가로드되고 있습니다. –

답변

1

js가 메서드가 존재하지 않는다고 말하는데 js가 해당 메서드를로드한다는 사실을 알고 있다면 js가로드되기 전에 호출하는 것일 수 있습니다.

.validate을 실행하기 전에 js 파일을로드했는지 확인하십시오.

각 코드를로드하는시기와 방법을 알기에 충분한 코드 (적어도 상황에 따라 다름)를 게시하지 않았습니다.

+0

질문에 게시 된 코드에서 포함 된 파일의 순서가 올바르며 DOM 준비 처리기에서'.validate()'를 래핑하는 것을 볼 수 있습니다. 분명히, 영업 인은 추측하지 않고 문제를 해결할 수있는 코드 또는 정보를 게시하지 않았습니다. – Sparky

+0

전체 컨텍스트가 없으면 정확히 어떤 일이 발생하는지 알 수 없습니다. 당신이 말했듯이, 그는 충분한 코드를 게시하지 않았습니다 (그러나 그는 투표를받을 자격이 있다고 생각하지 않습니다. 그는 배우고 있습니다). – davids

+1

다운 투표는 징계 대상이 아닙니다. 투표는 전적으로 게시의 장점에 근거합니다. 연구가 완료 되었습니까?, SO의 범위 내에 있습니까? 문제를 재현하기에 충분한 정보가 제공 되었습니까? 자세한 지침은 http://stackoverflow.com/help 및 http://meta.stackoverflow.com을 참조하십시오. – Sparky

4

저는 여러 자바 스크립트 라이브러리 (jQuery 및 다른 사람들이 $를 사용하고 여러 오류가 발생 함)를 사용하여 매우 비슷한 문제를 겪고있었습니다.

noconflict 모드를 사용하여 문제를 해결했습니다.

Here은 jQuery noconflict 모드에 대한 링크입니다. 희망이 도움이!

+0

나는 같은 문제가 있었다. 이것은 나를 위해 그것을 고정. 비록 내가 다른 라이브러리를 사용하지는 않지만 조금 이상하다. – Wilky

관련 문제