2014-07-15 2 views
0

사용자에게 삭제를 확인하라는 간단한 스크립트가 있습니다. 그러면 프로세스가 올바르게 완료되었다는 경고 만 표시됩니다. : jConfirm이 정의되지 않았습니다.

내가 jConfirm 및 자바 스크립트 콘솔을 토해내는 사용하여 시도 :

<!-- jConfirm --> 
// the script is referenced properly  
<script src="/js/jconfirm/jquery.jconfirm-1.0.min.js"></script> 


<script> 
function careersDelete(career_id) { 
    jConfirm('Are you sure you want to delete this career?', 'Delete Career', function (x) { 
    if (x) { 
     jQuery.ajax({ 
      url: "ajax_career_delete.php", 
      type: "GET", 
      data: "career_id=" + career_id, 
      success: function (response) { 
       alert('Career deleted'); 
      } 
     }); 
    } 
}); 

} 확인 대화 상자를 사용하도록 설정해야합니다 버튼을

을 "ReferenceError가 jConfirm가 정의되지 않은"내가 가진 :

<a href="#" onclick="careersDelete('<?php echo $career_id; ?>')">delete</a> 
+0

은'jQuery' 및'jConfirm' 라이브러리가 올바르게 포함되어있는 것처럼 보입니다. – pes502

+0

그래, 그들은 모두 제대로로드 ... – Hugo

답변

2

these examples을 확인하면 jquery, jconfirm은 네임 스페이스 내에서만 정의됩니다. 따라서 당신은 당신의 코드에서 두 가지를 추가해야합니다

<script src="/js/jquery.js"></script> <!-- or wherever jquery.js's path is --> 
... 
    $.jconfirm('Are you sure ... 
    // note jquery's $. namespace; and the non-capitalized "c" in jconfirm 

또한, $.jconfirm 함수 호출은 문자열을 기대하지 않습니다. 이 서명은 다음과 같습니다

function(options, callback) 

그리고 callback는 매개 변수 (따라서 귀하의 xundefined 될 것입니다)와 함께 실행되지 않습니다.

function careersDelete(career_id) { 
    jQuery.jconfirm({ 
     message: 'Are you sure you want to delete this career?', 
     title: 'Delete Career' 
    }, function() { 
     jQuery.ajax({ 
      url: "ajax_career_delete.php", 
      type: "GET", 
      data: "career_id=" + career_id, 
      success: function (response) { 
       alert('Career deleted'); 
      } 
     }) 
    }); 
} 
+0

안녕하세요 blgt 덕분에 그것을 말합니다 TypeError : $ .jconfirm는 함수가 아닙니다. – Hugo

+0

+1 : nice 대답 – pes502

+0

그것을 한 만세! 고마워요. 답을주기보다는 설명하는 것이 좋습니다. 나는 JS로 드로잉 보드로 돌아 가야한다. 왜냐하면 내가 완전히 이해하고 있다고 생각지 않는 몇 가지 개념이 있기 때문이다. 다시 한번 감사드립니다. – Hugo

관련 문제