我有一個非常簡單的腳本來改變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