使用Spring Webflow和Dijit看起来我每个元素(字段)只能添加一个装饰?

时间:2012-10-11 16:17:30

标签: spring spring-mvc dojo spring-webflow spring-js

使用Spring Webflow和Dijit看起来每个元素(字段)只能添加一个装饰?

我正在开发一个Spring Webflow项目,一旦用户从下拉列表中选择了一个Borough,我就会加载学校列表。表单工作得很好,直到我添加了一个dijit.form.Select widgettype。请看下面的代码。

我可以同时使用吗?

我遇到的问题是在Spring MVC方面,bean现在在自治市场中具有“自治市镇”的价值,而不是用户输入的值!

<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> 

1 个答案:

答案 0 :(得分: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>

我不是100%清楚为什么Ajax调用不起作用,但我现在让我的项目使用这段代码!