2011-10-27 3 views
0

내가 ColorBox 인라인 기능을 사용하고 내가 클릭 할 때이 창을 닫습니다 설정 한 버튼을 만들었습니다ColorBox onclick을 실행 JS 기능

$('.closebutton').live('click', function(){ 
     $.fn.colorbox.close(); 
    }); 

나는 때를 실행하려면 다른 기능을 가지고 버튼을 클릭 했으므로 :

<button class="closebutton" onclick="myFunction();">Close</button> 

위의 myFunction이 작동하지 않습니다.

어떤 아이디어로주세요?

UPDATE : 코드입니다

다음

은 다음과 같습니다 전이나 $.fn.colorbox.close();myFunction(); 추가

<script type="text/javascript"> 
jQuery(document).ready(function() { 
    $(".inline").colorbox({inline:true, width:"50%"}); //for colorbox inline 
    $('#cboxClose').remove(); //remove popup window close button 

    $('.closebutton').live('click', function(){ 
     $.fn.colorbox.close(); 
     myFunction(); 
    }); 

를 작동하지

하여 myFunction 코드 : (이 페이지에 위의 코드 뒤에 간다)

<script type="text/javascript"> 
function myFunction() { 
    $("#ajax-form").submit(function(){ 
     $.post("update.php", 
     $("#ajax-form").serialize(), 
      function(data){ 
       $('#jqm').attr('src', 
       $('#jqm').attr('src')); 
      } 
     ); 
     return false; 
    }); 
} 
</script> 

업데이트 2 :

나는 더 잘 설명하려고 노력할 것입니다. 나는 폼이 있고 작동하는 메인 페이지에 입력을 가지고 있습니다. 그래서 입력 상자에 텍스트를 추가하고 폼을 제출하면 입력 값이 제출됩니다. 이제 동일한 입력을 colorBox의 인라인 영역에 넣으면 팝업 창 내부에 나타나기 때문에 값이 제출되지 않습니다. 나는 firebag에서 ​​JS 오류를 잡으려고했지만 아무 것도 볼 수 없습니다. 희망이 도움이됩니다.

+0

myFunction()은 어디에 정의되어 있습니까? 그 코드를 추가해 주시겠습니까? – Joey

+0

위 업데이트를 참조하십시오. – Satch3000

답변

1

앞에 myFunction()을 추가하지 않는 이유는 무엇입니까? . 그 방법은 당신이 처리되는 순서를 가지 확신 할 수

+0

작동하지 않습니다 ...업데이트를 참조하십시오 – Satch3000

+0

나는 이유 때문에 앞서 말했습니다. –

+0

이전에도 시도했지만 여전히 작동하지 않습니다. – Satch3000

1

대신 인라인 자바 스크립트를 사용하여, 당신은 단순히 이런 식으로 뭔가를 할 수 :

$('.closebutton').live('click', function(){ 
    $.fn.colorbox.close(); 
    myFunction(); 
}); 
+0

작동하지 않습니다 ... 업데이트를 참조하십시오 – Satch3000

+0

좀 더 구체적으로 알려주시겠습니까? 당신은'myFunction'에 들어가나요? 코드가 제대로 실행되지 않거나 함수가 호출되지 않았습니까? – Leo

+0

코드가 올바르게 실행되지 않습니다. 함수가 인라인 팝업 내에서 호출되면 myFunction 코드가 실행되지 않습니다. – Satch3000

0

나는 문제가 믿는 myFunction()합니다 (온 클릭 속성) jQuery에 의해 재정의되고있다. 당신이 .closebutton 그냥 클릭 할 때마다 함수를 실행하려면 사용

$('.closebutton').live('click', function(){ 
     $.fn.colorbox.close(); 
     myFunction(); 
}); 

하는 경우 그 해당 버튼 해당 버튼에 ID를 추가하려고 : 독서 후, 그래서

$('.closebutton').live('click', function(){ 
    $.fn.colorbox.close(); 
    if($(this).attr('id') == 'exampleID')){ 
     myFunction(); 
    } 
}); 
+0

작동하지 않습니다 ... 업데이트를 참조하십시오. – Satch3000

0

확인 # 2 업데이트, myFunction 코드가 제대로 실행되지 않는다는 것이 실제로 이해됩니다.

문제는 입력 한 내용이 colorbox 내부로 옮겨져 입력 값이 외부 인 양식이므로 해당 값이 양식과 함께 제출되지 않기 때문입니다.

전체 양식을 colorbox 내부로 옮기거나 javascript를 사용하여 양식 외부로 이동 한 입력 값을 숨겨진 입력으로 복사 할 수 있습니다.