2014-02-21 1 views
0

사용자 입력 및 데이터베이스 값에 따라 PHP 페이지를 호출하는 colorbox가 있습니다. 문제는 다음과 같습니다.양식 제출을 통해 컬러 박스 팝업이 취소되었습니다.

"document.getElementById (formID) .submit();" 아래에서 색상 상자가 잘 열립니다. 색상 상자가 남아 있거나 colorbox 호출 후 "return false"가 제거되면 colorbox는 흰색 내용으로 만 잠깐 열리고 즉시 닫힙니다.

이것은 폼 제출이 일어나지 않을 때 (그리고 같은 colorbox 호출이 폼 제출을 포함하지 않는 다른 함수에서 잘 작동 할 때) 잘 작동하기 때문에 colorbox에서 호출 한 PHP 페이지와는 분명히 관련이 없습니다. 그러나 고객이 확인을 클릭 할 때 양식을 제출해야합니다!

function reactivate_customer_account (formID, user, server, wowzaStatus, kundenNummer) { 

     var answer = confirm (unescape("Do you want to reactivate the user account?")); 

     if (!answer) return false; 

     document.getElementById(formID).submit(); // this appears to cause the problem! 

     if (wowzaStatus == 999) { 

      $.colorbox({ href: "https://webpageaddress.de/script.php?request=reactivate&user=" + user + "&server=" + server + "&KdNr=" + kundenNummer, iframe: true, width: 450 + "px", height: 700 + "px", transition: "fade" }); 
      return false; 

     } 

    } 

이 함수를 호출하는 코드 : 문제가 무엇인지 어떤 도움과 설명은

<form id='kunden_reaktivieren_form_{$row['id']}' method='post' action='' onsubmit='return reactivate_customer_account(\"kunden_reaktivieren_form_{$row['id']}\", \"{$row['FTP_download_benutzername']}\", \"$kunden_server_name\", \"{$row['WowzaStatus']}\", {$row['Kundennummer']});'> 

<input type='hidden' name='session_key' value='$session_key'/> 
<input type='submit' value='Kunden AKTIVIEREN'/> 
... 
</form> 

감사! 감사!

답변

0

당신이 할 경우 :

document.getElementById(formID).submit(); 

페이지가 새로 고쳐하고 아래 코드를 실행하지 않습니다. colorbox를 열려면 AJAX를 통해 양식 제출을 요청해야합니다.

jQuery $.ajax 또는 $.post이 도움이 될 것입니다.

+0

감사합니다.하지만 컬러 박스 또는 다른 종류의 팝업에서 열어 볼 PHP 페이지를 원한다면 어떻게해야합니까? $ .ajax 또는 $ .post를 통해이 작업을 수행 할 수 있습니까? – user1145075

+0

예. 할 수 있습니다. ajax를 통해 서버에서 응답을 받으면 colorbox 코드를 호출하십시오. onsuccess를 사용하십시오. – Bala

+0

colorbox를 호출 한 후 양식을 제출하는 것이 가능하지 않습니까? 그 모든 추가 노력을 피할 수 있을까요? 또는 양식 제출과 colorbox 호출이 같은 버튼 klick에 달려 있다고해도 어떻게 든 분리되게 만들 수 있습니까?). – user1145075