2012-04-29 107 views
1

说我有错误信息的列表,像这样:如何将名称/值对存储在Coldfusion数组/对象中?

fieldname message 
-------------------- 
zip   "please enter your zip code" 
city   "please enter your city" 
... 

我需要这些名称 - 值对存储在一个ColdFusion * *阵列/对象,使他们的客户端验证访问函数(jquery)。

在jquery我引用错误消息的id,所以我需要存储两个。

什么是相当于这个jQuery:

var onErr = [ ["zip","please enter your zip code"], ["city", "please enter your city"] ] 
ColdFusion的

我想要做这样的事情:

<cfset onErr = createObject("component","errorMsg.cfc")> 

errorMsg.cfc

<cfset onErr.zip = "please enter your zip code"> 
<cfset onErr.city = "please enter your city"> 
... 
// then serialize this for pickup by Jquery validation handler 

,但不知道这是否最好的和最方便的解决方案。我也看了阵列,但在那里我只能存储ID或消息,我可以吗?多维数组呢?

感谢您的帮助!

编辑: 感谢您的一切帮助。最后摆弄我的路(到下一个障碍:-)。

这里是它是如何工作(=我可以JSONserialize反对和jQuery的解析):

<cfset allErrMsgs=ArrayNew(2)> 
<cfset allErrMsgs[1][1] = "firma"> 
<cfset allErrMsgs[1][2] = tx_validate_firma> 
<cfset allErrMsgs[2][1] = "re_firma"> 
<cfset allErrMsgs[2][2] = tx_validate_firma> 
... 

所以每当我得到新的错误消息,我只有在这里追加他们在我的错误日志。我在Session Start和用户更改语言时创建此日志作为组件:

再次感谢。

回答

3

你想要结构数组(地图或其他语言的对象):

var onErr = [ {"zip":"please enter your zip code"}, {"city":"please enter your city"} ] 

系列化使用serializeJSON()像这样:

serializeJSON(onErr) 

或者,如果你是这样做远程访问函数集returnformat =“json”

+0

好的。看起来就像Jquery ...谢谢。现在尝试。 – frequent 2012-04-29 14:16:03

+0

hm。 Coldfusion不喜欢[]。我可以在Coldfusion.cfc文件中使用这个有效的CF语法吗? – frequent 2012-04-29 15:13:18

+0

您是否使用CF8或以上版本? – Henry 2012-04-29 17:01:17