如果您有一个向用户显示大量信息的页面(例如客户帐户详细信息),并且此信息需要根据查看页面的人(例如经理,销售人员)而有所不同,我想知道最佳/有效的方式写条件逻辑.
例如,我有一个div,列出了所有客户的个人信息:
<cfif #User.Type# EQ "Sales"> // sales guy view
<div id="peronsonalinfo">
<ul>
<li>Forename Surname</li>
<li>Address</li>
<li>Account Status</li>
<li>Account Manager</li>
..... etc etc
</ul>
</div>
(continues below)
Run Code Online (Sandbox Code Playgroud)
以上情况适用于销售人员,因为他不允许对帐户进行更改.但是经理被赋予了编辑权,所以他需要得到这个.
<cfelseif #User.Type# EQ "Manager">
<div id="peronsonalinfo"> // manager view
<form action="accountedit.cfc">
<ul>
<li> <input type="text" value="Forename Surname" /> </li>
<li> <textarea value="Addres"></textarea> </li>
<li> <input type="text" value="Account status" /> </li>
<li> <input type="text" value="Account manager" /> </li>
..... etc etc
</ul>
</form>
</div>
</cfif>
Run Code Online (Sandbox Code Playgroud)
请原谅减少的代码.可能会有帐户状态和客户经理字段的下拉选择元素.我想说的是,根据你的身份,有两个相同信息的HTML版本.
编写这种逻辑的最佳方法是什么?我这样做的方式似乎是重复代码所以我能想到的唯一其他选择是围绕每个元素进行声明,就像这样?
<form>
<ul>
<li>
<cfif #User.Type# EQ …Run Code Online (Sandbox Code Playgroud) 我使用以下代码,并想知道为什么我收到"查询查询"错误?
<cfquery name="findpercentage" datasource="#mydatasource#">
SELECT
Count(TableId_bi) AS Total_Events
,Sum(CASE WHEN 'OPEN' = Event_vch THEN 100 END) / Count(*) AS OPENS
,Sum(CASE WHEN 'BOUNCE' = Event_vch THEN 100 END) / Count(*) AS BOUNCE
,Sum(CASE WHEN 'DEFERRED' = Event_vch THEN 100 END) / Count(*) AS DEFERRED
,Sum(CASE WHEN 'DROPPED' = Event_vch THEN 100 END) / Count(*) AS DROPPED
,Sum(CASE WHEN 'DELIVERED' = Event_vch THEN 100 END) / Count(*) AS DELIVERED
,Sum(CASE WHEN 'PROCESSED' = Event_vch THEN 100 END) / Count(*) AS PROCESSED …Run Code Online (Sandbox Code Playgroud) 我有一个URL,当在浏览器中运行时,显示JSON数据,因为我是coldfusion的新手,我想知道,从Web浏览器获取数据的好方法是什么?稍后我会将个性化的JSON数据存储到MySQL数据库中,但我需要找出抓取数据的第1步.
请指教.
谢谢
这可能是一个愚蠢的问题,但我真的希望有人可以帮助我.
我目前正在serializeJson()ColdFusion 10中使用生成JSON数据集,以便我可以在jquery表插件中处理数据.serializeJson()生成以下JSON数据:
{
-COLUMNS: [
"AMOUNT"
"AMOUNTPAID"
"ENTITY"
"ENTITY_NAME"
"FORMULACURRENCY"
"INTERNALID"
"TRANDATE"
"TRANID"
"TYPE"
"TYPE_INTERNALID"
]
-DATA: [
...
Run Code Online (Sandbox Code Playgroud)
我的插件似乎只处理非常基本的JSON.
[{"rank":1,"title":"The Avengers (2012)","weekend":"$103M","gross":"$373M","weeks":2},
{"rank":2,"title":"Dark Shadows (2012)","weekend":"$29.7M","gross":"$29.7M","weeks":1},
{"rank":3,"title":"Think Like a Man (2012)","weekend":"$5.82M","gross":"$81.4M","weeks":4},
{"rank":4,"title":"The Hunger Games (2012)","weekend":"$4.51M","gross":"$387M","weeks":8},
{"rank":5,"title":"The Lucky One (2012)","weekend":"$4.11M","gross":"$53.8M","weeks":4},
{"rank":6,"title":"The Five-Year Engagement (2012)","weekend":"$3.31M","gross":"$24.6M","weeks":3},
{"rank":7,"title":"The Pirates! Band of Misfits (2012)","weekend":"$3.14M","gross":"$23M","weeks":3},
{"rank":8,"title":"The Best Exotic Marigold Hotel (2011)","weekend":"$2.67M","gross":"$3.74M","weeks":2},
{"rank":9,"title":"Chimpanzee (2012)","weekend":"$1.76M","gross":"$25.7M","weeks":4},
{"rank":10,"title":"Safe (2012)","weekend":"$1.45M","gross":"$15.7M","weeks":3}];
Run Code Online (Sandbox Code Playgroud)
如何仅从ColdFusion的serializeJson()函数获取数据的数组,而不是列表或任何其他元数据?或者,是否有一种简单的方法只从数据数组中获取内容,而没有其他数组?
我有这样的结构:
SESSION.Auth.Access["1"]["2"]["Write"]
Run Code Online (Sandbox Code Playgroud)
如果我cfdump的结构#SESSION.Auth.Access#我可以完整地看到结构,它100%具有嵌套数组中的数据.
但是,如果我使用此声明:
#StructFindValue(SESSION.Auth.Access["1"], '2', 'ALL')#
Run Code Online (Sandbox Code Playgroud)
我得到一个空数组.如果我使用:
#ArrayLen(StructFindValue(SESSION.Auth.Access["1"], '2', 'ALL'))#
Run Code Online (Sandbox Code Playgroud)
然后它返回数组长度的零.
我做了一些明显错误的事情,或者是否存在可能的字符串/数字问题?
下面是我要构建的数组的代码.我正在构建一个基于数组的表,该数组包括技能ID(SKID),优先级和默认评级.我找不到我的数组有什么问题,但每当我打开页面时,我都会收到以下错误:
"您试图取消引用类coldfusion.runtime.Array类型的标量变量作为具有成员的结构."
谢谢.
<cfloop query="DisplayLearningPathOne">
<cfset BlankDocumentArray[CurrentRow][1]= SKID>
<cfset BlankDocumentArray[CurrentRow][2]= Priority>
<cfset BlankDocumentArray[CurrentRow][3]= Default_Rating>
</cfloop>
<cfset Total_Records = BlankDocumentArray.RecordCount>
<cfloop index="Counter" from=1 to="#arraylen(Total_Records)#">
<cfoutput>
<table border="2">
<tr>
<th>Skill_ID</th>
<th>Priority</th>
<th>Default_Rating</th>
</tr>
<tr>
<td>#BlankDocument[Counter][1]#,</td>
<td>#BlankDocument[Counter][2]#,</td>
<td>#BlankDocument[Counter][3]#,</td>
</tr>
</table>
</cfoutput>
</cfloop>
Run Code Online (Sandbox Code Playgroud) 我知道你可以定义一个<cfquery>...</cfquery>然后做类似的事情:
<cfoutput query="QueryName">
<option value = "#data#">#data2#, #data3#</option>
</cfoutput>
Run Code Online (Sandbox Code Playgroud)
但是,如果您定义a <cfstoredproc>...</cfstoredproc>,为其指定一个名称,那么您可以只在该query属性中插入该名称并获得相同的结果吗?
示例代码
<cfset b = 5.5566>
<cfset c = numberFormat(b,"9.99")>
<cfdump var="#c#">
Run Code Online (Sandbox Code Playgroud)
我只需要c = 5.55.我怎么能这样做,因为numberFormat会对数字进行舍入?
我试图在ColdFusion中检测图像是否模糊,但我有点卡住了.我读过 有没有办法检测图像是否模糊?,但这些编码示例在ColdFusion中无法使用.如果需要,我可以使用ImageMagick.
总的来说,我需要每月处理大约100万张图片,这些图片由用户上传.速度非常重要.
我有一个JQuery脚本,我希望将其集成到我在本网站上的一篇文章中找到的ColdFusion应用程序中.它是一个简单的脚本,用于在表单字段中的光标处插入文本.它必须比我找到的JavaScript解决方案更简单.
jQuery("#btn").on('click', function() {
var caretPos = document.getElementById("txt").selectionStart;
var textAreaTxt = jQuery("#txt").val();
var txtToAdd = "stuff";
jQuery("#txt").val(textAreaTxt.substring(0, caretPos) + txtToAdd + textAreaTxt.substring(caretPos) );
});
Run Code Online (Sandbox Code Playgroud)
我遇到的问题是ColdFusion将JQuery表单名称#btn -or- #txt视为无效结构.我想它预计会有一个coldfusion变量.
有没有办法解决?
coldfusion ×10
arrays ×2
jquery ×2
coldfusion-9 ×1
dereference ×1
imagemagick ×1
json ×1
mysql ×1