2016-06-03 3 views
0

나는 다단계 드루팔 (Drupal 7) 폼을 가지고있다. 부트 스트랩 팝업에 표시하고 싶습니다.부트 스트랩 팝업으로 다단계 드루팔 (Drupal 7) 폼을 만드는 법?

이 양식은 일반 페이지에서 정상적으로 작동하지만 부트 스트랩 팝업에 넣으면 첫 번째 버튼을 누르면 팝업이 닫힙니다.

drupal_render (drupal_get_form ('MYFORMNAME_form'))를 사용하여 양식을 팝업 본문에 넣습니다.

팝업에서이 다단계 양식을 올바르게 작동 시키려면 어떻게해야합니까?

답변

3

부트 스트랩 팝업이라고 할 때, 모달 창 (http://getbootstrap.com/javascript/#modals)을 의미합니까? 부트 스트랩의 모달은 페이지 본문 내에 정의되며 필요에 따라 숨기거나 표시합니다. 폼을 제출하면 첫 번째 장소에서 모달 대화 상자를 표시하기 위해 배치 한 메커니즘이 트리거되지 않으므로 자체 창으로 작동하려면 폼에 iframe이 필요합니다.

또 다른 옵션은 마지막 옵션은 모든 작업을 수행하는 것입니다

각 페이지로드 (다음 버튼 등),가에 무엇이든 단계에서 양식, 모달를 다시 표시하는 코드를 사용하는 것입니다 AJAX를 통한 양식 탐색. 그런 다음 페이지를 새로 고칠 수 없기 때문에 양식을 iframe 안에 넣거나 양식을 제출할 때마다 모달을 다시 표시 할 필요가 없습니다.

IMHO iframe이 가장 쉽습니다. iframe에 대한 가책이 없다면 괜찮은 옵션입니다. 폼을 별도의 페이지에 배치하고 iframe 안에 포함하면됩니다. 일부 테마 작업을 사용하면 일반 페이지 크롬을 해제하여 모달 모양을 사이트의 소형 버전처럼 보이게 할 수 있습니다. 헤더, 탐색 표시 줄, 바닥 글 등을 모달 안에 넣지는 않을 것입니다.

+0

나는 그것을 해결 한 AJAX를 사용했습니다. – user3563097

+0

듣기가 기쁩니다! –

0

Popup forms 모듈을 사용할 수 있습니다. 소유권 주장 :

여러 단계 형식으로 잘 작동합니다. [해당] 팝업을 열어두기 위해 [다음] 버튼 ID를 [the] 'close_buttons'배열에 추가하지 마십시오.

이 솔루션은 jQuery UI 대화 상자 대신 Boostrap 모달 ("부트 스트랩 팝업")을 사용하지 않습니다. 이 모듈을 사용하려면 약간의 맞춤 코딩이 필요합니다. 예제 코드는 프로젝트 페이지에서 제공됩니다.