0
我使用Spring 3.0.5,Webflow 2.3.0和Spring JS進行裝飾。Spring的ElementDecoration和AjaxEventDecoration與Dijit不兼容?
我的一個形式具有下面的代碼:
<form:select path="selection">
<form:option value="" label="Please select"></form:option>
<form:options></form:options>
</form:select>
<noscript>
<button id="btnSelect" type="submit" name="_eventId_dropDownSelectionChange">Select</button>
</noscript>
<script type="text/javascript">
Spring.addDecoration(new Spring.ElementDecoration({
widgetType : "dijit.form.Select",
widgetAttrs : {
forceWidth : true,
missingMessage : "<s:message code="NotEmpty" />",
}
}));
Spring.addDecoration(new Spring.AjaxEventDecoration({
elementId : "selection",
formId : "templateModel",
event : "onChange",
params : { _eventId: "dropDownSelectionChange" }
}));
</script>
的目的是使這取決於在下拉列表中選擇的形式的第二部分。這可以通過下拉列表的onChange上的AJAX調用來實現,也可以在無腳本的情況下按下'Select'按鈕來實現。
事情的無腳本方面的作品。我在下拉列表中選擇一些內容,然後按'選擇',表格的其餘部分將刷新。
但是,AJAX調用在其請求中沒有剛剛選擇的值。就好像AJAX調用發生在Dijit組件更新其表示之前。這些組件是否以我使用它們的方式兼容?
我可以得到它,如果工作:
- 我不跟一個onclick AJAX裝修裝飾組件作爲組件的Dijit,而是隻是正常的下拉列表。
- 我把AJAX調用上的按鈕,而不是建立在dijit的onChange