2016-10-23 6 views
1

내 템플릿에서 jquery를 사용하여 JS datepicker를 추가하려고하지만 실제로 정상적으로 작동하지 않습니다.Django 자바 스크립트 및 디버깅

내 HEADER.html 현재 (마스터 템플릿) :

[...] 
    <script src="{% static 'js/jquery.js' %}"></script> 
    <script src="{% static 'js/jquery-ui.js' %}"></script> 
    <script> 
     $(function() { 
      $("#datepicker").datepicker({ 
       showOn: "button", 
       buttonImage: "{% static 'images/calendar.gif' %}", 
       buttonImageOnly: true, 
       buttonText: "Select date" 
      }); 
     }); 
    </script> 
    <title>{% block title %}{% endblock %}</title> 
</head> 

스크립트가 포함 된 템플릿 : 나는 완전히 벌거 벗은 시트를 만들고 스크립트를 사용하는 경우는 찾아 작동

[...] 
    <div class="form-group"> 
     <div class="col-sm-offset-2 col-sm-10"> 
      <span class="text-danger small">{{ field.errors }}</span> 
     </div> 
     <label class="control-label col-sm-2"> 
      {{ field.label_tag }} 
     </label> 
     <div class="col-sm-10"> 
      <input type="text" id="datepicker"> 
     </div> 
    </div> 
[...] 

. 모든 코드를 main header.html 템플릿에 넣으면 작동하지 않습니다. 내 header.html을 완전히 지우고 모든 코드를 스크립트 소스로 바꾸면 작동합니다. 내 코드가 스크립트가 작동하지 않게하는 방법을 알지 못합니다. 내가 여기서 무엇을 놓치고 있니? 또한 개발 서버가 원격 일 때 문제를 해결하는 좋은 방법은 무엇입니까?

+1

좋은 방법은 크롬 개발 도구를 열고 콘솔에서 오류를 찾는 것입니다. – serg

+0

그래, 그건 꽤 표준이야. 나는 이미 그렇게했지만이 경우에는이 문제에 대해 결실을 맺지 못한다. ( – Flibertyjibbet

+1

페이지 소스를보고 코드가 모두 있는지 확인하고'console.log ($ ("#datepicker"))'와 div를 찾을 수 있는지 확인하십시오. – serg

답변

1

디버깅 HTML : 파이어 폭스

열기 페이지 (다른 브라우저)와 소스보기 (리눅스 또는 윈도우 맥, 명령 U에 CTRL-U). Firefox는 소스를 볼 때 HTML의 오류를 강조 표시합니다.

오류를 보려면 파이어 폭스를 사용하고 "소스보기"옵션을 통해 소스를 살펴 봐야합니다. 브라우저가 HTML 소스 코드가 아닌 실제 DOM을 보여주기 때문에 브라우저 콘솔/관리자를 사용하지 마십시오. .

html tidy를 설치하면 페이지 소스를 저장하고 tidy my-file.html을 실행하여 구문 오류를 검사 할 수 있습니다. 그것은이 같은 오류를 표시합니다 : 디버깅

enter image description here

+0

이것은 동일하게 나타납니다. 크롬에서 소스를 볼 때 보았던 것입니다. 오류가 없습니다. 강조 표시됩니다. 태그의 모든 링크를 클릭하여 jquery.js에 대한 깨진 링크를 찾았지만 문제를 해결해도 문제가 해결되지 않았습니다. 필자는 작업 일반 페이지와 깨진 페이지의 출처를 비교하여 차이점을 보지 않았습니다. – Flibertyjibbet

+0

HTML5를 강제로 사용해야하는지 궁금해하기 시작하고 를 사용하면 자동으로 datepicker로 채워진 것처럼 보입니다. 그것이 나쁜 생각 인 것처럼 느껴지지만, 이봐 .. 우리는 기술 산업에있어 : ​​P – Flibertyjibbet

+0

그래, 그건 나쁜 생각이야. 크롬 것 같은데. Firefox에는 datepicker가 내장되어 있지 않거나 아직 HTML5 요소 유형을 인식하지 못합니다. – Flibertyjibbet