1

我想将弹性表单的值提交给 ColdFusion cfc。

如果我有一个弹性表单(见下文),表单中的数据是一个对象吗?还是我必须根据表单中的 id 创建一个对象,然后将该新对象传递给 Coldfusion 组件?

<mx:Form x="10" y="10" width="790" id="myFrom" defaultButton="{createReport}">
    <mx:FormItem label="Resume Report Type:">
    <mx:RadioButtonGroup id="showtype"/>
    <mx:HBox>
        <mx:RadioButton groupName="showtype" id="NotUpdated" value="notupdated" label="Not Updated" width="100"  />
        <mx:RadioButton groupName="showtype" id="Updated" value="updated" label="Updated" width="75"  />
        <mx:RadioButton groupName="showtype" id="All" value="all" label="All" width="75"  />
    </mx:HBox>
    </mx:FormItem>
    <mx:FormItem label="User Organzation:">
        <mx:ComboBox dataProvider="{qOrganization}" labelField="UserOrganization" />    </mx:FormItem>

    <mx:FormItem label="Between the following dates:">
        <mx:HBox>
            <mx:DateField/>
            <mx:DateField left="10"/>
        </mx:HBox>
    </mx:FormItem>
    <mx:FormItem>

        <mx:Button label="Create Report" id="createReport"/>
    </mx:FormItem>  
    </mx:Form>
4

2 回答 2

1

没有数据绑定到表单中的任何控件(ComboBox 的 dataProvider 除外)。如果您想以最少的修改从表单中提取数据,请为每个控件分配一个“id”属性,然后从 ActionScript 以编程方式访问它们:

var obj : MyObject = new MyObject();
obj.beginDate = beginDate.selectedDate;
obj.endDate = endDate.selectedDate;
obj.organization = Organization(comboOrg.selectedItem);
// etc
于 2008-12-19T20:49:43.903 回答
1

不,这不是所有表单变量的集合或对象(这太容易了)。

如果这就是您想要的,您可以创建一个自定义对象,如描述的 Big Red Dog (brd6644)。不过,这是可选的;您无需在发回对象之前创建对象。您可以将每个字段作为通过其 ID 引用它们的参数传递。这实际上取决于偏好以及您的 CF 服务是否基于 OO。

您还可以选择创建数据模型并将其发送回 CF,如下所示:

<!-- DATA MODEL -->
<mx:Model id="formModel">
    <form>
        <beginDate>{beginDate.selectedDate}</beginDate>
        <endDate>{endDate.selectedDate}</endDate>
        <organization>
            <name></name>
            <address></address>
        </organization>
    </form>
</mx:Model>

<!-- REMOTE OBJECT/SERVER SIDE FORM HANDLER -->
<mx:RemoteObject
    id="roSubmitForm"
    source="com.mycfc"
    destination="ColdFusion"
    showBusyCursor="true">

    <mx:method name="submitForm" result="onSubmit(event)">
        <mx:arguments>
            <form>
                <beginDate>{formModel.beginDate}</beginDate>
                <endDate>{formModel.endDate}</endDate>
                <organization>
                    <name>formModel.organization.name</name>
                    <address>formModel.organization.address</address>
                </organization>
            </form>
        </mx:arguments>
    </mx:method>
</mx:RemoteObject>

这里有更多关于Flex 数据模型的内容……我仍然没有完全相信它们的用处……但这是另一种选择。

于 2008-12-19T22:41:27.750 回答