2012-09-18 3 views
0

사용자가 데이터를 입력 할 양식을 작성한 다음 "검토"를 클릭하여 입력 한 데이터를 확인하십시오. 그런 다음 검토 후에 레코드를 "저장"하십시오.양식 입력, 검토 후 업데이트

양식을 제출하는 데 <cfform>을 사용하고 있지만 여기에 양식이 없으므로 "검토"페이지에서 데이터를 데이터베이스로 제출하는 방법을 궁금합니다.

FORM.Name = VARIABLES.Name과 같은 변수를 검토 페이지에 표시하도록 설정 한 다음 "저장"을 제출 한 후 다시 변환해야합니까?

여기서는 어떻게 해야할지 잘 모릅니다. 지나친 생각?

+3

나는 그것을 생각하고 있다고 말하고 싶습니다. 양식을 검토 페이지로 전달한 다음 양식 변수를 숨겨진 변수로 저장 페이지로 전달하십시오. –

+1

휠을 다시 발명하지 않으려면 10 년 전부터 자동 태그를 사용하는 맞춤 태그가 있습니다. [CF_EmbedFields] (https://www.adobe.com/cfusion/exchange/index. cfm? event = extensionDetail & extid = 1000001). – ale

답변

3

양식 범위로 유지하십시오.

<cfloop list="#form.fieldList#" item="fieldName"> 

    <cfoutput> 
     #fieldName#: #form[fieldName]#<br> 
     <input type="hidden" name="#fieldName#" value="#form[fieldName]#"> 
    </cfoutput> 

</cfloop> 

링크 원래의 형태로 또는 저장 위치를 ​​

(원래의 형태로 값을 반영해야하는) 숨겨진 필드의 값을 사용하여 페이지에 제출 양식 값의 기본 출력은 form.fieldList에 구운 사용 당신이 할 수있는 몇 가지 다른 방법,하지만이게 나에게 가장 간단한 것 같습니다.

+0

모든 도움에 감사드립니다! – lmtony

+0

저는 매일 프로젝트에 참여하고 있습니다.이 질문에 다시 게시 할 수 없었습니다. 나는 위에 언급 한 것 이상 생각했을 수도 있습니다. 위의 fieldList 솔루션을 시도 할 것입니다. 내가 모르는 뭔가가 존재했습니다. 도움에 감사드립니다! – lmtony

2

리뷰 페이지에 숨겨진 입력 필드가있는 두 번째 양식을 사용하지 않는 이유는 무엇입니까? 확인은 서버에 데이터를 저장하는 페이지에 대한 제출 버튼입니다. 두 번째 가능성 (그다지 적절하지 않음) : 데이터를 데이터베이스에 직접 저장하고 검토를 위해로드하십시오. 트릭 : "확인 된"플래그를 사용하고 확인되면 설정하십시오. 그것에 관한 나쁜 부분은 확인되지 않은 오래된 데이터를 정리해야한다는 것입니다.

+0

두 번째 옵션에는 유효한 유스 케이스가 있습니다. 그러나이 시나리오에서는 아마 불필요하다고 동의했다. 숨겨진 필드가있는 두 번째 형식이면 충분합니다. – Leigh

1

빌리 크레이 반스의 대답에 대한 개선. 필드가 공격

<cfoutput> 
    #lcase(fieldName)#: #xmlFormat(form[fieldName])#<br> 
    <input type="hidden" name="#fieldName#" value="#xmlFormat(form[fieldName])#" /> 
</cfoutput> 

또한이 이미지 업로드 작동하지 않습니다 를 내장 한에 대해이 보호합니다. lcase (fieldName)는 모든 대문자로 필드가 표시되지 않도록합니다. 소문자는 종종 읽기가 쉽습니다.

관련 문제