2013-02-18 5 views
0

Galleria 라이브러리, 숨기기/표시 및 검증 된 양식으로 기본 사이트를 구성하고 있습니다. 갤러리아 스크립트를로드 할 때 기본 피드백 양식에 대한 유효성 검사가 실패합니다.Galleria 스크립트 가져 오기에서 Jquery 유효성 검사가 작동하지 않습니다.

Galleria 스크립트를 페이지에로드 할 때 JQuery 유효성 검사 스크립트가 실행되지 않게하는 원인은 무엇입니까? Galleria가로드되지 않았을 때 유효성 검사가 제대로 작동하지만 오류가 발생하면 유효성 검사가 실패합니다. 여기에 라이브 사이트 :

<script src="http://code.jquery.com/jquery-latest.min.js" type="text/javascript"></script> 
<script type="text/javascript" src="scripts/jquery.validate.js"></script> 
<script type="text/javascript" src="galleria/galleria-1.2.7.min.js"></script> 
<script type="text/javascript" src="http://ui.jquery.com/latest/ui/effects.core.js"></script> 
<script type="text/javascript" src="http://ui.jquery.com/latest/ui/effects.slide.js"></script> 

<script type="text/javascript"> 

    Galleria.loadTheme('galleria/themes/twelve/galleria.twelve.min.js'); 
    Galleria.run('#galleria', { 
    fullscreenCrop: 'false', 
    autoplay: 3000, 
    imageCrop: true 
}); 

      $(document).ready(function() { 
       $('#content_salon').hide(); 

       $('a#show_content_salon').click(function() { 
        $('#content_salon').slideToggle('slow'); 
        return false; 
       }); 
      }); 

      $(document).ready(function() { 
       $('#content_services').hide(); 

       $('a#show_content_services').click(function() { 
        $('#content_services').slideToggle('slow'); 
        return false; 
       }); 

      }); 

      $(document).ready(function() { 
       $('#content_contactus').ahow(); 

       $('a#show_content_contactus').click(function() { 
        $('#content_contactus').slideToggle('slow'); 
        return false; 
       }); 
      }); 


$(document).ready(function(){ 
    $("#form1").validate({ 

    rules: 

    { 

     email1: "required", 
     email2: { 
       equalTo: "#email1" }, 

     phone: { 
     minlength: 10, 
     maxlength: 10 
     }, 

     fullname: { 
     minlength: 2 
     }, 


    }, 

    messages: { 

    name: "Please enter your full name.", 
    email1: "Please enter a valid email.", 
    phone: "Phone number must be 10 characters (include area code).", 
    }, 

    errorPlacement: function(error, element) { 
      error.appendTo(element.parent()); 
     } 
    }); 

}); 
    </script> 
+0

아직 콘솔 오류가 발생 했습니까? 첫 번째는 "$ ('# content_contactus')입니다. ahow는 함수가 아닙니다. ~ 아마'ahow '대신에'show'를 의미했을까요? – Sparky

+0

양식에 관련 HTML도 OP에 포함해야합니다. 감사. – Sparky

+0

이 문제를 파헤 치면 다양한 맞춤법 오류로 인해 발생하는 JavaScript 오류로 인해 모든 문제가 발생하는 것이 확실합니다. 자바 스크립트가 작동하기 전에 Galleria를 오류없이 작동시켜야합니다. – Sparky

답변

1

내가 페이지에 맞춤법 실수를 많이보고 있어요 : http://lucidnetdesigns.com/invidia/ 여기에 현재의 수입과 스크립트를합니다. 당신의 OP 당

A는이 당신의 rules ...

rules: { 
     email1: "required", 
     email2: { 
      equalTo: "#email1" 
     }, 
     phone: { 
      minlength: 10, 
      maxlength: 10 
     }, 
     fullname: { // <-- no such field defined 
      minlength: 2 
     } 
}, 
messages: { 
    name: "Please enter your full name.", // <-- no such field or rule 
    email1: "Please enter a valid email.", 
    phone: "Phone number must be 10 characters (include area code).", 
}, 

그러나, 귀하의 페이지에 따라,이 이러한 필드가 fullname라고하지 않습니다.
<input name="firstname" .... 

그리고 당신의 messages 섹션에서

, 당신은 name에 대한 메시지를 정의하지만 name="name"와 양식에는 필드가 없으며, name라는 어떤 규칙이있다 : 실제 HTML이있다.

유효성 검사 코드가 작동된다 http://jsfiddle.net/zPQJb/

사이드 참고 : 이미 .validate()required를 포함 내에서 복합 규칙을 지정한 때 input 필드에 class="require"을 할 이유가 없습니다. 그것은 불필요한 것입니다.


페이지의 첫 번째 오류 :

"$('#content_contactus').ahow is not a function" 

ahow 아마 show 있어야한다.

나머지 자바 스크립트가 제대로 작동하기 전에 페이지에서 다른 JavaScript 오류 (많은 맞춤법 오류로 인한 것 같습니다)를 해결해야합니다.

+0

얘들 아, 고마워. 나는이 물건에 대한 상대적인 멍청한 놈이다. 나는 show/hide로 놀고 있었고 분명히 ahow 대신에 'show'라고 잘못 표기했다. 다른 팁을 가져 주셔서 감사합니다 - 나는 업데이트하고 테스트 할 것입니다. 베스트, Nick –

+0

업데이트 - 'ahow'에서 'show'로의 수정이 실제로 내 원래의 문제를 해결했습니다. 나는 지금 나머지를 고칠 것이다 :) –