2012-08-27 3 views
1

CFWheels에서 어떻게 다중 단계 형식을 설정하는지 궁금합니다.CFWheels - 다단계 양식?

분명히 저는 세션에 양식 데이터를 저장해야 할 것입니다. 그러나 바퀴의 관점에서 볼 때 바퀴의 방향을 가장 잘 이해하고 싶습니다.

컨트롤러를 처리하는 액션이 ​​하나뿐입니까? 또는 양식의 각 부분을 별도의 작업으로 분리하는 것이 가장 좋을까요?

이 코드 예제에 대한 조언을 주시면 감사하겠습니다.

덕분에, 마이클

+0

기본적으로 SO의 형식에 맞지 않는 토론을 요청하고 있습니다. [cfwheels 메일 링리스트] (https://groups.google.com/forum/?fromgroups#!forum/cfwheels)를 사용해보십시오. –

+0

나는 당신의 말을 듣고 -하지만 나는 실제로 코드에 대해서도 이야기하고 싶다. 곧이 질문을 코드로 업데이트 할 예정이며 Google 그룹보다이 점이 더 좋습니다. –

+3

코드가 있으면 자동으로 [SO의 Q & A 형식] (http://stackoverflow.com/faq)에 적합하지 않습니다. 구체적인 대답 가능한 질문 = 좋습니다. 막연한 "다단계 양식을 도와주세요."= 나쁘다. cfWheels 메일 링리스트를 통해 훨씬 더 나은 응답을 얻을 수 있습니다. –

답변

1

내가 과거에 그것을 한 적이 방법은 아약스 호출 및 JQuery와 모달을 사용합니다.

jquery 모달은 중요하지 않지만, 나는 단지 미적을 좋아합니다. 간단한 div 교체도 작동합니다.

사용자가 AJAX를 사용할 수 있는지 확신 할 수 없다면 AJAX는 사용할 수 없지만 팝업 창을 사용할 수는 있습니다.

다단계 양식에 Ajax 호출을 사용하면 한 단계에서 다른 단계로 양식 내용을 조정할 수 있다는 장점이 있습니다. 또 다른 장점은 사용자 데이터를 캐시 또는 세션에 저장할 필요가 없다는 것입니다. 양식을 보낼 때마다 POST 또는 GET을 사용할 수 있습니다.

이 기능을 사용하려면 RemoteFormHelpers라는 플러그인을 사용하는 것이 가장 빠른 방법입니다. 폼의 각 단계는 다른 컨트롤러 (또는 전달 된 데이터를 기반으로하는 switch 문을 사용하는 동일한 명령문)가됩니다.

이 방법은 매우 다양한 방법으로 사용하지만 사용하는 양식은 사용할 수 없습니다. 파일 업로드, 아약스가 심각한 고통 없이는 그렇게하지 못하게하는 것은 쉽지 않습니다.

+0

나는 AJAX 방식으로 생각했다. 그러나 우리가가는 것처럼 일부 필드에서 DB 검사를 할 필요가있다. 그래서 까다로울 수있다. 예를 들어 가능한 최대 3 단계가 있지만 DB 조회의 첫 번째 단계에서 무언가를 제공하지 않으면 사용자를 리디렉션해야하므로 더 이상 단계가 수행되지 않습니다. 필자의 경우는 매우 독특하기 때문에 CFWheels에서 작동하는 데 어려움을 겪고있다. –

+0

아약스가 특히 데이터베이스에 대한 정보를 확인해야하는 경우에는 제가하는 것처럼 보입니다. ajax 호출을 사용하면 제출할 때마다 컨트롤러를 통해 실행하고 수표를 쉽게 수행 할 수 있습니다. – Daniel

관련 문제