Я использую Spring 3.0.5, Webflow 2.3.0 и Spring JS для оформления.
Одна из моих форм имеет следующий код:
<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>
Цель состоит в том, чтобы сделатьвторая часть формы в зависимости от того, что выбрано в раскрывающемся списке.Это должно быть достигнуто либо с помощью вызова AJAX в onChange раскрывающегося списка, либо в случае noscript - нажатием кнопки «Выбрать».
Работает сторона noscript.Я выбираю что-то в раскрывающемся списке, нажимаю «Выбрать», и остальная часть формы отображается при обновлении.
Однако вызов AJAX не имеет только что выбранного значения в своем запросе.Это как если бы вызов AJAX происходил до того, как компонент Dijit обновил свое представление.Совместимы ли эти компоненты так, как я их использую?
Я могу заставить его работать, если:
- Я не декорирую компонент как компонент Dijit, а вместо этого просто обычныйвыпадающий список с художественным оформлением AJAX.
- Я ставлю вызов AJAX на кнопку вместо Dijit onChange