我有一个非常简单的脚本来改变MySql数据库中的项目的状态 - 它在IE7中工作正常,但如果我在Firefox中尝试它,它看起来像它的工作,但没有...是非常奇怪的。简单的ColdFusion脚本适用于IE,但不适用于Firefox?
的代码非常简单 - 首先我得到的纪录我在寻找的细节:
<cfscript>
// Get the Product Attribute details
Arguments.qGetProductAttribute = Application.cfcProducts.getProductAttributes(Arguments.iProductAttributeID);
</cfscript>
这是工作的罚款,如果我倾倒的结果,这是纪录的只是内容预期。那么我使用if语句将“活动”字段从一个更改为零,反之亦然。
<!--- If Product Attribute is active, mark as inactive --->
<cfif Arguments.qGetProductAttribute.bActive EQ 0>
<cfquery name="qChangeStatus" datasource="#Request.sDSN#">
UPDATE tblProductAttributes
SET bActive = <cfqueryparam value="1" cfsqltype="CF_SQL_INTEGER" maxlength="1" />
WHERE iProductAttributeID = <cfqueryparam value="#Arguments.iProductAttributeID#" cfsqltype="CF_SQL_INTEGER" />;
</cfquery>
<!--- Else if Product Attribute is inactive, mark as active --->
<cfelseif Arguments.qGetProductAttribute.bActive EQ 1>
<cfquery name="qChangeStatus" datasource="#Request.sDSN#">
UPDATE tblProductAttributes
SET bActive = <cfqueryparam value="0" cfsqltype="CF_SQL_INTEGER" maxlength="1" />
WHERE iProductAttributeID = <cfqueryparam value="#Arguments.iProductAttributeID#" cfsqltype="CF_SQL_INTEGER" />;
</cfquery>
</cfif>
我看不到任何理由对这个不工作......而事实上,在IE7它完美...
该脚本运行后会发生什么事是,浏览器变回到显示所有这些记录的页面。对于每个记录,如果'bActive'字段设置为'1',它将显示单词'Active',如果它设置为'zero',它将显示'Disabled'。 够简单。
如果我运行脚本来禁用记录,Firefox实际上会按照预期显示单词'disabled',但数据库记录不会改变!
我很茫然......服务器端代码如何在一个浏览器中正常工作,而不是在另一个浏览器中工作?
正确的你是......我添加了最后更新的字段,它确实做了一个改变......但我不知道FF击中脚本两次,并不明白为什么它会......任何想法如何阻止这种情况发生? – 2008-09-26 10:48:11
我在FF中看到了一个模糊的问题,当它在一个它无法识别的字符上绊倒时,需要在不同的字符集中重新显示该页面,并且将重新提交该页面以执行此操作。您没有任何奇怪的字符与您所声明的文档类型差异很大? – ConroyP 2008-09-26 10:58:18
Hmmmmmmmmmm .....不是我知道的......我在结果页面上使用了£符号,这在过去我遇到了问题......但不是在实际制作数据库的页面上电话...即使重新显示结果页面,也不应该导致问题。 – 2008-09-26 11:18:49