2009-07-18 8 views
0

많은 동일한 행이있는 양식 내에 테이블이 있습니다. 각 행의 시작 부분에 텍스트 필드와 <cfwindow>을 만드는 버튼이있어 사용자가 인벤토리를 탐색하고 단일 항목을 선택할 수 있습니다. 그런 다음 해당 항목의 이름과 ID가 있어야 기본 페이지로 돌아가서 텍스트 상자를 채울 수 있습니다. 기본 페이지 양식이 정상적으로 작동합니다. <cfwindow>은 잘 작동합니다 (검색, 디스플레이 등). 변수를 <cfwindow> 메인 페이지로 다시 설정하고 해당 특정 행의 텍스트 필드를 채우고 전체 페이지를 다시 그리지 않는 방법을 알아낼 수 없습니다. 나는 <cfwindow>을 메인 페이지의 변수에 접근 할 수 없으며, 그냥 부동 div 였고 모든 메인 페이지 변수에 접근 할 수 있다고 생각했다.cfwindow에 변수 전달 및 전달

이 메인 페이지를 하나의 행 (인덱스 각 행 변수에 대한 고유 한 이름을 생성하기위한 통해 반복)

<cfinput type="button" value="Select" name="xSelect#i#" onClick="ColdFusion.Window.create(blah blah blah...)/>. <cfwindow>에서

<cfinput type="text" name="x1s#i#xName" value="form.x1s#i#xName" size="30" disabled="true"/>

는 쿼리는 라디오 버튼 항목, 각각의 목록을 채 웁니다. 사용자는 항목을 선택해야하며 해당 항목의 ID를 해당 행의 기본 페이지로 되돌려 보내야합니다.

+0

CFWindow에서 부모 페이지의 javascript에 액세스 할 수있는 것이 무엇이든 확실합니다. – Henry

답변

1

의견에 감사드립니다. 여기에 내가 무슨 짓을 한거야 : - 단추를 사용하여 URL을 통해 cfwindow에 변수를 전달하고 onClick = "ColdFusion.Window.create ..." - cfwindow에서 url 변수를 참조로 사용하고 onclick = "javascript : ColdFusion.navigate ..."를 통해 변수가 채워진 양식을 표시하는 간단한 작업 페이지에 URL 변수와 함께 url 변수와 함께 검색 결과를 보냅니다. - 메인 페이지로 돌아 가기 URL을 통해 작업 페이지에 바인딩하는 cfdiv가 있습니다.

그래서 내 검색 기능에 전달한 참조로 시작하여 태그를 유지하고 새로 고칠 때마다 메인 페이지에 올바르게 나타납니다.

그래서 지금하고있는 일은 오버 헤드를 줄이기 위해 모든 동적 변수를 배열에 넣는 것입니다.

0

ColdFusion에서는 세션 범위에 뭔가를 넣거나 JavaScript를 사용하여 호출 페이지에 숨겨진 필드를 설정할 수있었습니다. 더 좋은 솔루션이있을 수 있지만 빠른 몇 가지 있습니다.

0

부모 창에있는 링크에서 Javascript 함수 호출을 사용하십시오.

Javascript 함수에서 ColdFusion.Window.create을 사용하면 필요한 변수를 전달하는 동적 URL이있는 하위 창을 만들 수 있습니다.

Et voilà.

+0

빠른 답장을 보내 주셔서 감사합니다. 나는 더 분명해야했다. cfwindow에 URL을 통해 변수를 전달할 수 있습니다. 전체 페이지가 아닌 기본 양식으로 다시 가져와 막 1 필드를 다시로드해야합니다. –