2014-07-27 6 views
0

다음 코드를 사용하여 나는 JS($("#deleteModal").modal("show");에서 삭제 오류가 발생했습니다. 어떤 생각이 잘못 될 수 있습니까? 임모달 오류 - 잡히지 않은 TypeError : 정의되지 않은 함수 모달

가 처리되지 않는 형식 오류

오류가있다

MVC5 프로젝트를 사용 : 나는 같은 오류

으로 스크립트의 구걸에 실패 다음과 같이 그것을 시도 할 때 정의되지 않은 함수

<!-- Modal --> 
<div class="modal fade" id="deleteModal" tabindex="-1" role="dialog" aria-labelledby="deleteModalLabel" aria-hidden="true"> 
    <div class="modal-dialog"> 
     <div class="modal-content"> 
      <div class="modal-header"> 
       <button type="button" class="close" data-dismiss="modal"><span aria-hidden="true">&times;</span><span class="sr-only">Close</span></button> 
       <h4 class="modal-title" id="deleteModalLabel">Delete Item</h4> 
      </div> 
      <div id="deleteModalBody" class="modal-body"></div> 
      <div class="modal-footer"> 
       <button type="button" class="btn btn-default" data-dismiss="modal">Close</button> 
      </div> 
     </div> 
    </div> 
</div> 

<script> 
    $(function() { 
     $("#deleteModal").modal("hide"); // initially hides the modal pop-up until needed 

     $(".deleteLink").on("click", function() { 

      $.get('@Url.Action("GetDeletePartial")', { id: $(this).prop("id") }, function (data) { 
       $("#deleteModalBody").html(data); 

       $("#deleteModal").modal("show"); // shows the modal pop-up now that we have our partial view 
      }); 

     }); 
    }); 
</script> 

아니다

@section scripts 
{ 
    <script src="~/Scripts/jquery-2.1.1.min.js"></script> 

    <script> 
     $(function() { 
      $("#deleteModal").modal("hide"); // initially hides the modal pop-up until needed 

      $(".deleteLink").on("click", function() { 

       $.get('@Url.Action("GetDeletePartial")', { id: $(this).prop("id") }, function (data) { 
        $("#deleteModalBody").html(data); 

        $("#deleteModal").modal("show"); // shows the modal pop-up now that we have our partial view 
       }); 

      }); 
     }); 
    </script> 
} 

답변

1

일부 타사 jQuery 플러그인을 사용하여 모델 대화 상자를 만들려고했지만 해당 p에 대한 참조를 작성하는 것입니다. lugin의 자바 스크립트 파일.

이것을 확인하려면 어떤 줄이 예외가 발생하는지 궁금합니다. 준비 콜백의 첫 줄에 있습니까?

$("#deleteModal").modal("hide");

그렇다면 스크립트 참조를 확인하십시오. 스크립트 블록 앞에 < 스크립트 > 태그를 src에 추가하십시오.

업데이트 :

의견에 따라 예외는 해당 줄에서 발생하지 않습니다. 따라서 어떤 함수 호출이 실패했는지 알기 위해 디버거 (예 : Chrome 개발자 도구)를 사용할 수 있습니다. 예외에 대한 실행을 일시 중지하도록 디버거를 설정할 수 있습니다. 크롬 개발자 도구에서 소스 탭으로 전환하고 오른쪽의 사이드 바 오른쪽 상단에있는 마지막 아이콘을 클릭하여이 기능을 사용하도록 설정할 수 있습니다. 스냅 샷에 대한 멋진 답변은 다음과 같습니다. https://stackoverflow.com/a/17324511/1817042

+0

감사합니다.하지만 $ ("# deleteModal")에서 발생하지는 않습니다. 모달 ("show"); 디버거에서 디버거에서 볼 수있는 방법이 있습니다. 자세한 이유는 무엇입니까? –

+0

예, 크롬의 개발자 도구는 좋은 방법을 제공합니다. 디버거가 예외가 발생하면 실행중인 프로세스를 중단시킬 수 있습니다. F12 키를 눌러 개발자 도구를 시작하고 소스 탭으로 전환 한 다음 사이드 바의 오른쪽 상단에서 마지막 아이콘은 wheather가 예외 상황을 벗어날 때의 동작을 설정합니다. 그런 다음 어떤 함수 호출이 실패했는지 알 수 있습니다. –

+0

사이드 바의 오른쪽 맨 위에이 아이콘에 이름이 있습니까? 내 업데이트 된 게시물을 참조하십시오 ... –

0

독립 실행 형 일반 HTML + 자바 스크립트 페이지에서 동일한 오류가있었습니다.

분명히 socket.io.js에 의해 발생했습니다. 어떤 스크립트 태그는 jquery 및 bootstrap.js 스크립트 태그 다음에 처음 배치되었습니다.

jquery 및 부트 스트랩 전에 socket.io.js 스크립트 태그를 이동하면 문제가 해결되었습니다.

관련 문제