|
Mailing Lists
|
Home /
Groups /
ColdFusion 8 (Scorpio)
modal cfwindow submits once without error but not again error displayed
Author: Melvin Thompson
Short Link: http://www.houseoffusion.com/groups/coldfusion8/thread.cfm/threadid:2069#6288
I've added a link to my cfgrid that allows me to add a record. Once "add record"
link is selected, a modal window pops up. I'm able to insert a new record, but
when i try to insert another record using the same "subgroup_id", I'm getting the
following error: "ColdFusion.Ajax.submitForm: error submitting form, id:
addUserForm : Element subgroup_ID is undefined in ARGUMENTS."
What can I do to resolve this issue. Please see code for 2 files below.
admin_subgroupnames.cfm
<script>
function updateErrorHandler(id,messae) {
alert("Error while updating\n Error code: "+id+"\n Message: "+message);
}
function addLink()
{
ColdFusion.Window.show('addrecord');
}
function saveSub() {
ColdFusion.Ajax.submitForm('addUserForm', 'subgroups.cfc?method=addSub',
resultInsertHandler);
}
function resultInsertHandler() {
ColdFusion.Grid.refresh('doctableGrid', true);
var aForm=document.forms.addUserForm;
aForm.reset()
}
</script>
<!--- Display Grid --->
<cfform>
<cfgrid name="doctableGrid" width="100%" format="html" pagesize="20"
striperows="yes"
bind="cfc:subgroups.displaysubdivisions({cfgridpage}, {cfgridpagesize},
{cfgridsortcolumn}, {cfgridsortdirection})"
delete="yes" selectmode="edit"
onchange="cfc:subgroups.editSubData({cfgridaction}, {cfgridrow},
{cfgridchanged})">
<cfgridcolumn name="group_id" display="no">
<cfgridcolumn name="subgroup_id" display="no">
<cfgridcolumn name="subgroup_name" display="yes" header="subgroup_name">
<cfgridcolumn name="group_name" display="yes" header="Division">
</cfgrid>
<a href="javascript:addLink()">Add Record</a>
</cfform>
<cfwindow name="addrecord" modal="true" center="true" width="630" height="400"
resizable="true" title="Add New Record">
<cfform name="addUserForm">
Division: <cfselect name="group_id"
bind="cfc:subgroups.getgroupnames()"
display="group_name"
value="group_id"
bindonload="true" />
Subdivision: <cfinput type="text" name="subgroup_name" size="70">
<cfinput type="reset" name="Clear" value="Clear Entries">
<cfinput type="button" name="addUser" value="Add"
onclick="javascript:savSub();">
</cfform>
</cfwindow>
Subgroups.cfc
<CFCOMPONENT output="false">
<cffunction name="displaysubdivisions" access="remote" returntype="struct">
<cfargument name="page" required="yes">
<cfargument name="pageSize" required="yes">
<cfargument name="gridsortcolumn" required="yes">
<cfargument name="gridsortdir" required="yes">
<cfargument name="filtercolumn" required="no" default="">
<cfargument name="filter" required="no" default="">
<cfset var subdivisions="">
<cfquery name="subdivisions" datasource="--">
Select sd.subgroup_id, sd.subgroup_name, d.group_id, d.group_name
FROM subdivision sd Inner Join division d
ON sd.group_id = d.group_id
<cfif ARGUMENTS.gridsortcolumn NEQ ""
and ARGUMENTS.gridsortdir NEQ "">
ORDER BY #ARGUMENTS.gridsortcolumn# #ARGUMENTS.gridsortdir#
</cfif>
</cfquery>
<cfreturn queryconvertforgrid(subdivisions, ARGUMENTS.page,
ARGUMENTS.pageSize)>
</cffunction>
<cffunction name="getgroupnames" access="remote" returntype="query">
<cfset var groupname="">
<cfquery name="groupname" datasource="--">
Select group_id, group_name
From Division
ORDER BY group_name
</cfquery>
<cfreturn groupname>
</cffunction>
<cffunction name="addSub" access="remote" output="false" returntype="any">
<cfargument name="subgroup_id" default="#CreateUUID()#">
<cfargument name="subgroup_name">
<cfargument name="group_id">
<cfset insSub = "">
<cfquery name="insSub" datasource="--" result="insResult">
INSERT INTO subdivision(subgroup_id, subgroup_name, group_id)
VALUES('#Arguments.subgroup_id#','#Arguments.subgroup_name#',
'#Arguments.group_id#')
</cfquery>
</cffunction>
<cffunction name="editSubdata" access="remote">
<cfargument name="gridaction" type="string">
<cfargument name="gridrow" type="struct">
<cfargument name="gridchanged" type="struct">
<cfif isStruct(gridrow) and isStruct(gridchanged)>
<cfif gridaction eq "U">
<cfset colname=structkeylist(gridchanged)>
<cfset value=structfind(gridchanged, #colname#)>
<cfquery name="team" datasource="--">
Update subdivision
Set #colname# = '#value#'
where subgroup_id = '#gridrow.subgroup_id#'
</cfquery>
<cfelse>
<cfquery name="team" datasource="--">
delete from subdivision
where subgroup_id = '#gridrow.subgroup_id#'
</cfquery>
</cfif>
</cfif>
</cffunction>
</CFCOMPONENT>
|
May 24, 2012
|
Latest Fusion Authority Articles
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||