Data binding Chrome浏览器和数据绑定按钮的怪异行为
我注意到谷歌在浏览器上有一些奇怪的怪异之处 Chrome带有一些数据绑定按钮,当你离开时 从页面中,然后使用浏览器后退按钮显示数据绑定 不同的数据。如果然后单击“刷新”,它将重置为正确的数据。 这在Firefox或Explorer 7中不会发生 实际上,我已经将数据绑定bool按钮示例输入到CF 所以我使用的文件都在那里,直接链接是 但现在我发现了这个跨浏览器的怪癖,我觉得我应该采取 除非你能帮我弄清楚到底发生了什么 加油 任何线索都很感激 bool_buttons.cfmData binding Chrome浏览器和数据绑定按钮的怪异行为,data-binding,coldfusion,google-chrome,Data Binding,Coldfusion,Google Chrome,我注意到谷歌在浏览器上有一些奇怪的怪异之处 Chrome带有一些数据绑定按钮,当你离开时 从页面中,然后使用浏览器后退按钮显示数据绑定 不同的数据。如果然后单击“刷新”,它将重置为正确的数据。 这在Firefox或Explorer 7中不会发生 实际上,我已经将数据绑定bool按钮示例输入到CF 所以我使用的文件都在那里,直接链接是 但现在我发现了这个跨浏览器的怪癖,我觉得我应该采取 除非你能帮我弄清楚到底发生了什么 加油 任何线索都很感激 bool_buttons.cfm 无标题 mess
无标题
messageProcess.cfc
选择#arguments.switchName#
来自消息
messageID在哪里=
更新消息
设置#参数。开关名称#=1
messageID在哪里=
更新消息
设置#参数。开关名称#=0
messageID在哪里=
这是一个Google Chrome bug,我也遇到过类似的情况,并开了一张罚单请发布有问题的CF代码
<cfset url.messageID=28>
<CFSET application.dsn = "data">
<html>
<head>
<title>Untitled</title>
</head>
<body>
<cfform>
<cfinput type="button" STYLE="width: 80px; height: 22px;" bind="cfc:messageProcess.togglebool('#application.dsn#', '#url.messageID#',{toggle1@click},'referral', 'Referral', 'Message')" name="toggle1" value="" bindonload="YES">
<cfinput type="button" STYLE="width: 80px; height: 22px;" bind="cfc:messageProcess.togglebool('#application.dsn#', '#url.messageID#',{toggle2@click},'viewed', 'Read', 'Unread')" name="toggle2" value="" bindonload="YES">
<cfinput type="button" STYLE="width: 80px; height: 22px;" bind="cfc:messageProcess.togglebool('#application.dsn#', '#url.messageID#',{toggle3@click},'actioned', 'Actioned', 'Pending')" name="toggle3" value="" bindonload="YES">
</cfform>
</body>
</html>
<cfcomponent>
<cffunction access="remote" name="togglebool" output="true" returntype="any" displayname="Toggle boolean value in message record" hint="Toggles boolean value in message record">
<cfargument required="true" name="dsn" type="string"/>
<cfargument required="true" name="messageID" type="numeric"/>
<cfargument required="true" name="buttonLabel" type="string"/>
<cfargument required="true" name="switchName" type="string"/>
<cfargument required="true" name="switchOnLabel" type="string"/>
<cfargument required="true" name="switchOffLabel" type="string"/>
<cfset var returnMessage = "" />
<cfset var temp = "" />
<cfquery datasource='#arguments.dsn#' name="getSwitchData">
SELECT #arguments.switchName#
FROM messages
WHERE messageID=<cfqueryparam value="#arguments.messageID#" cfsqltype="CF_SQL_INTEGER"/>
</cfquery>
<cfset temp="getswitchdata."&#switchName#>
<cfif #Evaluate(temp)# is 1>
<cfset returnMessage="#arguments.switchOnLabel#">
<cfelse>
<cfset returnMessage="#arguments.switchOffLabel#">
</cfif>
<cfif buttonLabel eq "">
<cfreturn returnMessage>
<cfelseif buttonLabel eq "#arguments.switchOffLabel#">
<cfquery datasource='#arguments.dsn#'>
UPDATE messages
SET #arguments.switchName#=1
WHERE messageID=<cfqueryparam value="#arguments.messageID#" cfsqltype="CF_SQL_INTEGER"/>
</cfquery>
<cfreturn "#arguments.switchOnLabel#">
<cfelseif buttonLabel eq "#arguments.switchOnLabel#">
<cfquery datasource='#arguments.dsn#'>
UPDATE messages
SET #arguments.switchName#=0
WHERE messageID=<cfqueryparam value="#arguments.messageID#" cfsqltype="CF_SQL_INTEGER"/>
</cfquery>
<cfreturn "#arguments.switchOffLabel#">
</cfif>
</cffunction>
</cfcomponent>