2013-07-25 6 views
2

이 백만 가지 방법을 시도했습니다 ColdFusion에서/냉각 박스에 숨겨진 입력을 사용하지 않고 제출, 그래서 난 그냥 분해 일반적으로전달 변수/RC가

물어 거라 생각, 내 설정은 다른 이벤트와 핸들러 편집보기,이 myHandler가/편집처럼 편집보기에 URL을

function edit(event, rc, prc) { 

     rc.query=getmodel("somemodel").getlist(rc.unique); 
     } 

    function save(event, rc, prc){ 
    event.norender(); 
    getPlugin("MessageBox").info("#rc.allocation# Saved"); 
    setNextEvent(event="myhandler.edit", url="edit?unique=#rc.allocation#"); 
    } 

제출 양식 저장? 독특한 = 99, 나는이

<form action="#event.buildLink('myhandler.save"> 

같은 저장의 이벤트를 설정하는 형태가 이는 기본적으로 내가이

<input id="unique" name="unique" type="hidden" value="#rc.unique#"/> 
처럼 내 양식에 숨겨진 입력을 설정하지 않는 경우를 이제

을 저장하려면 링크를 생성 난 항상 오류가

I "요소 UNIQUE은 RC에서 정의되지 않는다"GET

입력으로 정의되지 않은 상태에서 양식 제출시 매개 변수를 전달할 수있는 방법이 있어야한다는 것을 알고 있습니다. 어떻게 할 것인가에 대한 단일 예제를 찾을 수 없습니다.

+0

URL의 쿼리 문자열에 추가하거나 양식 필드로 정의하지 않으면 매개 변수를 전달할 방법이 없습니다 양식 제출시. 세션 범위에 저장할 수 있지만 더 이상 필요하지 않은 경우 세션을 지울 수있는 프로세스가 필요합니다. 숨겨진 양식 필드로 값을 전달하는 것은 꽤 표준적인 방법입니다. –

+0

정말요? firebug/chrometools를 가진 사람이 입력 값을 마음대로 바꿀 수 있기 때문에 표준이 될 것 같지는 않지만, 서버 측 유효성 검사가 무엇인지는 짐작할 수 있습니다 ... 더 이상 숨겨진 입력을 항상 더 이상하지 않는다고 느껴지지 않습니다. –

+0

있다면, 그것은 나에게 알려지지 않은 기술입니다. : D –

답변

1

대신 event.getValue()을 사용하여 값을 검색 할 수 있습니다 확인 RC 직접. RC에없는 경우 기본값을 반환 할 수 있습니다.

+0

그리고 언제든지 StructKeyExists (rc, "unique")를 사용하여 원하는대로 분기 할 수 있습니다 그것이 있는지 여부에 따라 행동을 변경하십시오. – jinglesthula