내 특정 질문/문제는 Cedric Dugas의 jQuery 유효성 검사 플러그인 (http://www.position-absolute.com/articles/jquery-form-validator-because-form-validation-is-a-mess/#comments)의 v1.7 구현과 관련이 있지만 문제가 다른 상황으로 쉽게 일반화 될 수 있다고 생각합니다. getScript 콜백 내에서 jQuery 함수를 초기화 할 수없는 이유는 무엇입니까?
일반적으로 나는과 같이 다음 스크립트를로드<script src="inc/formValidator/js/jquery.validationEngine.js" type="text/javascript"></script>
그런 다음 플러그인을 초기화하기 위해, 나는 다음을 수행하십시오
<script>
$(document).ready(function() {
$("#myFormID").validationEngine();
});
</script>
나는의 값을 id 속성과 양식을 가지고 "myFormID"및 스크립트가 양식 필드의 유효성을 검사합니다. 이 작동합니다.
그러나 모든 페이지에 2 비트의 코드가 포함되어 있지만 페이지의 ID가 myFormID 인 양식이 없으면 null 오류가 발생합니다. 이 문제를 해결하고 적절한 양식이있을 때만 플러그인을로드하려고하면 다음을 시도합니다.
<script>
if($('#myFormID').length)
{
$.getScript('inc/formValidator/js/jquery.validationEngine.js', function() {
alert('Load was performed.');
});
};
</script>
잘 작동합니다. 그러나 이제 validationEngine을 초기화하고 폼에 바인딩하는 방법을 알 수 없습니다. 왜이 기능이 작동하지 않습니까?
$.getScript('inc/formValidator/js/jquery.validationEngine.js', function()
{
$("#myFormID").load(function()
{
$(this).validationEngine();
});
});
운 :
$.getScript('inc/formValidator/js/jquery.validationEngine.js', function()
{
$("#myFormID").validationEngine();
});
나는이 시도했다. 이 오류가 발생합니다 : $ ("# myFormID") null입니다.
아이디어가 있으십니까? 나는 거의 그대로 대머리 다. 이것은 도움이되지 않습니다!
다른 개발자가 추가 한 스크립트의 프로토 타입 충돌이었습니다. – technoTarek