2012-07-14 3 views
1

확장 라이브러리에서 위젯 컨테이너를 사용하려고합니다. 특히 SSJS를 실행하는 옵션이있는 드롭 다운 노드를 추가하려고합니다.위젯 컨테이너와 함께 DropDown 노드를 사용하는 방법

위젯 컨테이너에서 기본 리프 노드를 사용하는 경우 두 가지 옵션이 있습니다. "onClick"은 내가 원하는 것을 정확하게하는 것처럼 보일 것입니다. 그러나 코드가 생성 될 때뿐만 아니라 노드가 생성 될 때 코드가 실행됩니다. 실제로 그것은 항상 발사되는 것 같습니다.

submitValue도 있습니다. Ext에 예제가 있기 때문에 코드를 삽입 해 보았습니다. 249 페이지의 도서관 서적 (SafariBooksOnline Version). 그러나 나는 그 코드를 실행시키지 못했습니다.

<xe:this.dropDownNodes> 
<xe:basicLeafNode label="New Category"> 
<xe:this.onClick><![CDATA[#{javascript:print("onClick Code") 
}]]></xe:this.onClick> 
<xe:this.submitValue><![CDATA[#{javascript:print("SubmitValue Code"); 
sessionScope.put("currentDoc", ""); 
viewScope.put("showSub", false) 
var c = getComponent("dynamic") 
c.show("cat")}]]></xe:this.submitValue> 
</xe:basicLeafNode> 
<xe:basicLeafNode label="Another option"></xe:basicLeafNode> 
</xe:this.dropDownNodes> 

은 내가 무엇을 찾고 있어요 범위의 변수를 설정하고 페이지에 동적 제어를 갱신이 이루어 호출 코드에있다. 이론적으로는 부분적인 새로 고침이 필요하다고 생각하지만 설정하는 방법은 없습니다.

내가 준 코드 예제에서 - onClick은 일을 클릭하지 않았을 때 실행되고 submitValue는 관심있는 코드가 전혀 실행되지 않는 것처럼 보입니다.

모든 조언을 주시면 감사하겠습니다. 감사합니다

답변

2

분명히 AppliptionLayout 컨트롤 안에는 basicLeafNode의 onclick 메서드가 SSJS 호출을 넣을 위치를 정의하지 않지만 실제로 CSJS를 실행할 위치를 정의합니다. 또한 submitValue는 값을 넣을 장소이기 때문에 submitValue를 "NewCategoryClick"과 같이 설정하고 applicationLayout 아래에 submitHttler 하위 항목을 정의하여 submitValue == " NewCategoryClick "을 선택하고 정의한 SSJS 코드를 실행하십시오.

관련 문제