2014-02-24 2 views
0

Yii에 양식이 있고 Ajax를 통해 다음 단계를로드하려고합니다.YiiFramework - 아약스로드 후 javascript 함수 없음

$.ajax({ 
url: jQuery("#form-1").attr("action"), 
type: "POST", 
data: jQuery(form).serialize() 
}).done(function(data) { 
jQuery("body").html(data); 
}); 

URL은 우리가 다음에 이르게 :

$this->render('formStep2', array('model' => $model)); 

그래서 전체보기를 덮어 쓰게됩니다 그래서 다음과 같은 요청을해야합니다. 문제는 모든 이벤트가 발생하는 자바 스크립트 기능이 작동하지 않는다는 것입니다. (예 : afterValidateAttribute 및 마우스 오버 이벤트 포함)

어떻게 작동합니까?

바인딩 코드는, 예를 들면 :

jQuery("#collapsor").mouseover(function(e) { 
... 
jQuery("#collapsing").collapse('show'); 
... 
} 

콘솔 말한다 : (부트 스트랩) "처리되지 않는 형식 오류 개체 [대상 객체] 붕괴 '있는 방법이 없다". 내가 붕괴 부트 스트랩에서 제안 된 html 코드 (및 클릭) 다음 작동합니다 ...

또는 내가 자동으로 생성 된 Yii 함수 "afterValidateAttribute"등등하지만 콘솔이 없습니다 - 전혀 오류.

편집 : 내가 document.write를 (ajaxContnent) 붕괴-것은이 작동하지만 애니메이션과 YII 양식 기능없이 여전히 작동하지 않습니다 ...

+0

당신이 jQuery를 사용하는 경우, 기능을 '사는'. 예 : $ ("# button")을 사용합니다. live ('click', function() {}); $ ("# button") 대신에 click (function() {}); 다른 이벤트와 동일하게 수행하십시오 –

+0

"라이브"기능이있는 – Ravi

+0

이벤트 바인드 코드를 추가하면 작동하지 않습니다 :( –

답변

0

동적으로 추가 컨텐츠를 처리하는 방법을 사용할 때, 문서에 이벤트를 첨부하고 필요한 이벤트 및 선택기를 대상으로 지정하십시오. 자세한 내용은 여기를 위임 이벤트에 대한 사용 jQuery의 on

jQuery('body').on("mouseover","#collapsor", function(e) { 
    jQuery("#collapsing").collapse('show'); 
}); 

읽기 : 당신이해야 http://api.jquery.com/on/

관련 문제