ColdFusion 将表单值转换为结构
我正在使用命名格式report[{field-name}] 为我的ColdFusion 应用程序构建一个表单,当使用RoR 或CFWheels 时,它会在后端提供一个名为report 的结构,其中包含我的所有字段名称。我使用的是 FW/1,因此所有表单字段都会放入 RC 范围,而不是保留在表单范围中。我知道可以将我的表单字段转换为 ColdFusion 结构,因为正如我所说,CFWheels 可以做到这一点。我只是不知道如何让我的应用程序做到这一点。
这是我正在谈论的表格的一部分
<dl class="oneColumn">
<dt class="first"><label for="report[name]">Name</label></dt>
<dd><input type="text" name="report[name]" class="text" /></dd>
<dt><label for="report[description]">Description</label></dt>
<dd><textarea name="report[description]" class="textarea"></textarea></dd>
</dl>
I am building a form for my ColdFusion application using the naming format report[{field-name}] which when using RoR or CFWheels would give me a struct on the backend called report containing all of my field names. I am using FW/1 so all of my form fields get put into the RC scope rather than remaining in the Form scope. I know that it is possible to convert my form fields into a ColdFusion struct, because, as I said, CFWheels does it. I just have no idea how to make my application do it.
Here is part of the form that I am talking about
<dl class="oneColumn">
<dt class="first"><label for="report[name]">Name</label></dt>
<dd><input type="text" name="report[name]" class="text" /></dd>
<dt><label for="report[description]">Description</label></dt>
<dd><textarea name="report[description]" class="textarea"></textarea></dd>
</dl>
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
Adam 的上下文是正确的,但他的代码片段是错误的。
一个可以工作的功能是这样的:
我在我的应用程序中测试了它(CFWheels 之外)并且它工作得很好。您所做的就是传入一个结构(在我的例子中是来自 FW/1 的 Rc 结构),其中包含应该是结构的内容,但显示为字符串,您将返回一个具有嵌套结构的结构。
例子:
Adam had the right context, but his code snippet was wrong.
A function that will work is this:
I tested it in my application (outside of CFWheels) and it worked perfectly. All you do is pass in a struct (in my case the Rc struct from FW/1) containing what should be structures, but displaying as strings and you will be returns a structure with nested structures.
Example:
因此,您需要做的更改的最基本形式是:
您需要做的是编写一个循环,该循环遍历表单结构并解析表单字段名称并构建类似的结构。我猜它已经写在 CFWheels 中的某个地方(作为函数),您只需找到它并自己将其拉出来,就可以避免头痛和沮丧。
我认为就是这样,但我不确定:
So the most basic form of the change you need to do is this:
What you need to do is write a loop that loops over the form struct and parses the form field names and builds structures like these. I'm guessing it's already written somewhere in CFWheels (as a function), and you could save yourself headache and frustration by just finding it and pulling it out for yourself.
I think this is it, but I'm not sure: