0

Spring Webflow と Dijit を使用すると、要素 (フィールド) ごとに 1 つの装飾しか追加できないように見えますか?

私はSpring Webflowプロジェクトに取り組んでおり、ユーザーがドロップダウンから自治区を選択すると、学校のリストをロードしていました. dijit.form.Select ウィジェットタイプを追加するまで、フォームはうまく機能していました。以下のコードを見てください。

両方を使用できますか?

私が抱えている問題は、Spring MVC 側で、Bean の borough フィールドに「borough」という値があり、ユーザーが入力した値ではありません!

<form:select path="borough" id="borough" >
<form:option value="UNKNOWN" label="Unknown" />
<form:option value="X" label="Bronx" />
<form:option value="K" label="Brooklyn" />
<form:option value="M" label="Manhattan" />
<form:option value="Q" label="Queens" />
<form:option value="R" label="Staten Island" />
<form:option value="O" label="All Other Schools" />
</form:select>
<script type="text/javascript">
            Spring.addDecoration(new Spring.ElementDecoration({
            elementId : "borough",
            widgetType : "dijit.form.Select",
            widgetAttrs : {
                                promptMessage : "Enter Borough",
                                required : true }}));

            Spring.addDecoration(new Spring.AjaxEventDecoration({
            elementId: "borough",
            event: "onChange",
            formId:"member",
            params: {fragments:"body", _eventId: "loadSchools"}}));
</script> 
4

1 に答える 1

0

問題を修正しました。Spring.AjaxEventDecoration呼び出しを削除し、Spring.ElementDecorationを次のように変更しました。

 <script type="text/javascript">
                            Spring.addDecoration(new Spring.ElementDecoration({
                                elementId : "sex",
                                widgetType : "dijit.form.Select",
                                widgetAttrs : {
                                promptMessage : "Enter Sex",
                                required : true, 
                                onChange : function() {
                                    Spring.remoting.submitForm(
                                        'submit', 
                                        'customer', 
                                        {_eventId: 'sexchange', fragments:'contents'}
                                     ); 
                                     return false;
                                } }}));


                        </script>

Ajax 呼び出しが機能しなかった理由については 100% 明確ではありませんが、プロジェクトでこのコードを使用できるようになりました。

于 2012-10-12T16:40:46.200 に答える