Ahoy!

I am stumped.  This page works in I.E  but not Firefox or Chrome.  This is the 
first time I ran into a page where a page's code wouldn't work in a differing 
browser. I know what the error means and I did a cfdump of #form# to try and 
figure it out. phone0ID, email0ID, and address0ID are not listed.  Yet it works 
in I.E.  @_@

Thanks!

Spencer

The Problem:

When a phone number, address, or email is added and then the save button is 
clicked this error appears.  Works and saves on I.E.  Errors only on Firefox 
and Chrome.


The Error:

 Element phone0ID is undefined in a Java object of type class 
coldfusion.filter.FormScope referenced as
 
The error occurred in F:\Inetpub\dev_site\profile_edit.cfm: line 789
Called from F:\Inetpub\dev_site\profile_edit.cfm: line 376
Called from F:\Inetpub\dev_site\profile_edit.cfm: line 150
Called from F:\Inetpub\dev_site\profile_edit.cfm: line 98
Called from F:\Inetpub\dev_site\profile_edit.cfm: line 1

787 :  <cfset sExistingItems = ValueList(qryExistingItems.ID)>
788 :  <cfloop index="iCounter" from="0" to="#(Form['#sItemName#Count'] - 1)#">
789 :     <cfif Form["#sItemName##iCounter#ID"] eq "new">
790 :       <cfset bReturn = True>
791 :       <cfquery name="insItem" datasource="McCauleyDB">

Browser         Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9.0.3) 
Gecko/2008092417 Firefox/3.0.3
Remote Address          192.168.254.25
Referrer        http://dev.mccauleysound.com/profile_edit.cfm?ID=139070
Date/Time       10-Oct-08 12:06 PM
Stack Trace
at 
cfprofile_edit2ecfm9810877$funcUPDATELINKEDITEMS.runFunction(F:\Inetpub\dev_site\profile_edit.cfm:789)
 at 
cfprofile_edit2ecfm9810877._factor12(F:\Inetpub\dev_site\profile_edit.cfm:376) 
at 
cfprofile_edit2ecfm9810877._factor14(F:\Inetpub\dev_site\profile_edit.cfm:150) 
at 
cfprofile_edit2ecfm9810877._factor30(F:\Inetpub\dev_site\profile_edit.cfm:98) 
at cfprofile_edit2ecfm9810877.runPage(F:\Inetpub\dev_site\profile_edit.cfm:1) 

Some Page Code:

<cfset bEmails = updateLinkedItems("email", "tblEmails", iID, "Name,Address", 
"Name")>

<cfset bPhones = updateLinkedItems("phone", "tblPhones", iID, 
"Name,PhoneNumber", "Name")>

<cfset bAddresses = updateLinkedItems("address", "tblAddresses", iID, 
"Name,Street1,Street2,Street3,City,LocationID,Zip", "Name,Street2,Street3")>

<...>

<cffunction name="updateLinkedItems" output="false" returntype="boolean">
  <cfargument name="sItemName" type="string" required="true">
  <cfargument name="sTableName" type="string" required="true">
  <cfargument name="iPersonID" type="string" required="true">
  <cfargument name="sFieldNames" type="string" required="true">
  <cfargument name="sNullableFields" type="string" required="true">

<...>

<cfset sExistingItems = ValueList(qryExistingItems.ID)>
 <cfloop index="iCounter" from="0" to="#(Form['#sItemName#Count'] - 1)#">
    <cfif Form["#sItemName##iCounter#ID"] eq "new">
      <cfset bReturn = True>
      <cfquery name="insItem" datasource="McCauleyDB">
                                INSERT INTO #sTableName#
                                (
                                        NeedsApproval,
                                        AwaitingAddition,
                                        <cfloop index="sFieldName" 
list="#sFieldNames#">
                                                #sFieldName#,
                                        </cfloop>
                                        PersonID
                                )
                                VALUES
                                (
                                        #sQueryValue1#,
                                        #sQueryValue2#,
                                        <cfloop index="sFieldName" 
list="#sFieldNames#">
                                                <cfset sInputName = sItemName & 
iCounter & sFieldName>
                                                
                                                <cfif 
Len(Trim(Form[sInputName])) eq 0 AND ListFind(sNullableFields, sFieldName) neq 
0>
                                                        NULL
                                                <cfelse>
                                                        '#Form[sInputName]#'
                                                </cfif>,
                                        </cfloop>
                                        #iID#
                                )
                        </cfquery>
      <cfelse>
      <cfquery name="qryItem" datasource="McCauleyDB">
                                SELECT
                                        #sFieldNames#
                                FROM
                                        #sTableName#
                                WHERE
                                        ID = #Form["#sItemName##iCounter#ID"]#
                        </cfquery>
      <cfset bNeedsUpdate = False>
      <cfloop index="sFieldName" list="#sFieldNames#">
        <cfif Compare(Evaluate("qryItem.#sFieldName#"), Form["#(sItemName & 
iCounter & sFieldName)#"]) neq 0>
          <cfset bNeedsUpdate = True>
        </cfif>
      </cfloop>
      <cfif bNeedsUpdate>
        <cfset bReturn = True>
        <cfquery name="updItem" datasource="McCauleyDB">
                                        UPDATE
                                                #sTableName#
                                        SET
                                                NeedsApproval = #sQueryValue1#,
                                                AwaitingUpdate = #sQueryValue2#,
                                                <cfloop index="sFieldName" 
list="#sFieldNames#">
                                                        <cfset sInputName = 
sItemName & iCounter & sFieldName>
                                                        #sFieldName# =
                                                        <cfif 
Len(Trim(Form[sInputName])) eq 0 AND ListFind(sNullableFields, sFieldName) neq 
0>
                                                                NULL
                                                        <cfelse>
                                                                
'#Form[sInputName]#'
                                                        </cfif>,
                                                </cfloop>
                                                PersonID = #iID#
                                        WHERE
                                                ID = 
#Form["#sItemName##iCounter#ID"]#
                                </cfquery>
      </cfif>
      <cfset sExistingItems = ListDeleteAt(sExistingItems, 
ListFind(sExistingItems, Form["#sItemName##iCounter#ID"]))>
    </cfif>
  </cfloop>
  <cfif Len(Trim(sExistingItems)) neq 0>
    <cfquery name="delDeletedItems" datasource="McCauleyDB">
                        DELETE FROM
                                #sTableName#
                        WHERE
                                ID IN (#sExistingItems#)
                </cfquery>
  </cfif>
  <cfreturn bReturn>
</cffunction>


~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~|
Adobe® ColdFusion® 8 software 8 is the most important and dramatic release to 
date
Get the Free Trial
http://ad.doubleclick.net/clk;207172674;29440083;f

Archive: 
http://www.houseoffusion.com/groups/cf-newbie/message.cfm/messageid:4034
Subscription: http://www.houseoffusion.com/groups/cf-newbie/subscribe.cfm
Unsubscribe: 
http://www.houseoffusion.com/cf_lists/unsubscribe.cfm?user=11502.10531.15

Reply via email to