<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="https://www.infopathdev.com:443/utility/FeedStylesheets/rss.xsl" media="screen"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:wfw="http://wellformedweb.org/CommentAPI/"><channel><title>Code</title><link>https://www.infopathdev.com:443/forums/45.aspx</link><description /><dc:language>en</dc:language><generator>CommunityServer 2007 SP3 (Build: 31118.962)</generator><item><title>Not able to insert row with "Undefined" as error message</title><link>https://www.infopathdev.com:443/forums/thread/54034.aspx</link><pubDate>Thu, 22 Apr 2010 15:15:54 GMT</pubDate><guid isPermaLink="false">033a2e2d-04e2-4a9d-be01-a4634161eefd:54034</guid><dc:creator>vriyer</dc:creator><slash:comments>0</slash:comments><comments>https://www.infopathdev.com:443/forums/thread/54034.aspx</comments><wfw:commentRss>https://www.infopathdev.com:443/forums/commentrss.aspx?SectionID=45&amp;PostID=54034</wfw:commentRss><description>&lt;p&gt;Hi &lt;/p&gt;
&lt;p&gt;I am trying to copy an secondary XML list from the SP into Main DOM.. I did the coding per the example I&amp;#39;ve seen from here using jscript.. The problem here is - I could see the variable value received from the list and it errors with a message &amp;quot;undefined&amp;quot; when it tries to insert.. Here is code I have.. Can someone please help?&lt;/p&gt;
&lt;p&gt;/*&lt;br /&gt;&amp;nbsp;* This file contains functions for data validation and form-level events.&lt;br /&gt;&amp;nbsp;* Because the functions are referenced in the form definition (.xsf) file, &lt;br /&gt;&amp;nbsp;* it is recommended that you do not modify the name of the function,&lt;br /&gt;&amp;nbsp;* or the name and number of arguments.&lt;br /&gt;&amp;nbsp;*&lt;br /&gt;*/&lt;/p&gt;
&lt;p&gt;// The following line is created by Microsoft Office InfoPath to define the prefixes&lt;br /&gt;// for all the known namespaces in the main XML data file.&lt;br /&gt;// Any modification to the form files made outside of InfoPath&lt;br /&gt;// will not be automatically updated.&lt;br /&gt;//&amp;lt;namespacesDefinition&amp;gt;&lt;br /&gt;XDocument.DOM.setProperty(&amp;quot;SelectionNamespaces&amp;quot;, &amp;#39;xmlns:xsi=&amp;quot;&lt;a href="http://www.w3.org/2001/XMLSchema-instance"&gt;http://www.w3.org/2001/XMLSchema-instance&lt;/a&gt;&amp;quot; xmlns:xhtml=&amp;quot;&lt;a href="http://www.w3.org/1999/xhtml"&gt;http://www.w3.org/1999/xhtml&lt;/a&gt;&amp;quot; xmlns:my=&amp;quot;&lt;a href="http://schemas.microsoft.com/office/infopath/2003/myXSD/2008-07-08T12:20:58"&gt;http://schemas.microsoft.com/office/infopath/2003/myXSD/2008-07-08T12:20:58&lt;/a&gt;&amp;quot; xmlns:xd=&amp;quot;&lt;a href="http://schemas.microsoft.com/office/infopath/2003%22&amp;#39;"&gt;http://schemas.microsoft.com/office/infopath/2003&amp;quot;&amp;#39;&lt;/a&gt;);&lt;br /&gt;//&amp;lt;/namespacesDefinition&amp;gt;&lt;/p&gt;
&lt;p&gt;&lt;br /&gt;//=======&lt;br /&gt;// The following function handler is created by Microsoft Office InfoPath.&lt;br /&gt;// Do not modify the name of the function, or the name and number of arguments.&lt;br /&gt;//=======&lt;br /&gt;function CTRL786_45::OnClick(eventObj)&lt;br /&gt;{&lt;/p&gt;
&lt;p&gt;&amp;nbsp;// Get the Project Id.&lt;br /&gt;&amp;nbsp;var selectedType = XDocument.DOM.selectSingleNode(&amp;quot;/my:myFields/my:Project/my:Summary/my:Proj_ID&amp;quot;).text;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;// If no form was selected notify the user.&lt;br /&gt;&amp;nbsp;if(selectedType == &amp;quot;&amp;quot;)&lt;br /&gt;&amp;nbsp;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;XDocument.UI.Alert(&amp;quot;Please enter a Project ID first.&amp;quot;);&lt;br /&gt;&amp;nbsp;&amp;nbsp;return;&lt;br /&gt;&amp;nbsp;}&lt;br /&gt;&amp;nbsp;XDocument.UI.Alert(&amp;quot;Project ID&amp;quot; + selectedType);&lt;br /&gt;&amp;nbsp;&lt;br /&gt;&amp;nbsp;// Get the list per the selected Project Id.&lt;br /&gt;&amp;nbsp;var vehicles =XDocument.GetDOM(&amp;quot;Phase_Metrics_XML&amp;quot;).selectNodes(&amp;quot;/ROWSETS/ROWSET1/ROW[PROJECT_ID = &amp;#39;&amp;quot; + selectedType + &amp;quot;&amp;#39;]&amp;quot;);&lt;/p&gt;
&lt;p&gt;&amp;nbsp;// If nothing was found, then return; there will be no items to insert.&amp;nbsp;&lt;br /&gt;&amp;nbsp;if(vehicles == null)&lt;br /&gt;&amp;nbsp;&amp;nbsp;return;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&lt;br /&gt;&amp;nbsp;// Get the insertion point.&lt;br /&gt;&amp;nbsp;var vehicleList = XDocument.DOM.selectSingleNode(&amp;quot;/my:myFields/my:Financial&amp;quot;);&lt;/p&gt;
&lt;p&gt;&amp;nbsp;// Add the rows to the main DOM.&lt;br /&gt;&amp;nbsp;var vehicle;&lt;br /&gt;&amp;nbsp;while(vehicle = vehicles.nextNode())&lt;br /&gt;&amp;nbsp;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;try&lt;br /&gt;&amp;nbsp;&amp;nbsp;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;// Get the values from the secondary DOM.&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;var phaseName = vehicle.selectSingleNode(&amp;quot;PHASE_NAME&amp;quot;).text;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;var phaseStart = vehicle.selectSingleNode(&amp;quot;PHASE_START&amp;quot;).text;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;var phaseFinish = vehicle.selectSingleNode(&amp;quot;PHASE_FINISH&amp;quot;).text;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;var phaseAct = vehicle.selectSingleNode(&amp;quot;PHASE_ACT_COST&amp;quot;).text;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;var phaseETC = vehicle.selectSingleNode(&amp;quot;PHASE_ETC_COST&amp;quot;).text;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;var phaseWeeks = vehicle.selectSingleNode(&amp;quot;TOTAL_WEEKS&amp;quot;).text;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;var phaseEstBurn = vehicle.selectSingleNode(&amp;quot;TOTAL_BURN&amp;quot;).text;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;var phaseActBurn = vehicle.selectSingleNode(&amp;quot;ACTUAL_BURN&amp;quot;).text;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;XDocument.UI.Alert(&amp;quot;Vars &amp;quot; + phaseName);&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;// Build a string representing a main DOM vehicle nodeset using the values from the secondary DOM.&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;var vehicleXml = &amp;quot;&amp;lt;my:Phase_Detail xmlns:my=&amp;#39;http://schemas.microsoft.com/office/infopath/2003/myXSD/2008-07-08T12:20:58&amp;#39;&amp;gt;&amp;quot;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;+ &amp;quot;&amp;lt;my:Phase_Name&amp;gt;&amp;quot; + phaseName + &amp;quot;&amp;lt;/my:Phase_Name&amp;gt;&amp;quot;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;+ &amp;quot;&amp;lt;my:Phase_Start&amp;gt;&amp;quot; + phaseStart + &amp;quot;&amp;lt;/my:Phase_Start&amp;gt;&amp;quot;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;+ &amp;quot;&amp;lt;my:Phase_Finish&amp;gt;&amp;quot; + phaseFinish + &amp;quot;&amp;lt;/my:Phase_Finish&amp;gt;&amp;quot;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;+ &amp;quot;&amp;lt;my:Phase_Actuals&amp;gt;&amp;quot; + phaseAct + &amp;quot;&amp;lt;/my:Phase_Actuals&amp;gt;&amp;quot;;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;+ &amp;quot;&amp;lt;my:Phase_ETC&amp;gt;&amp;quot; + phaseETC + &amp;quot;&amp;lt;/my:Phase_ETC&amp;gt;&amp;quot;;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;+ &amp;quot;&amp;lt;my:Phase_Duration&amp;gt;&amp;quot; + phaseWeeks + &amp;quot;&amp;lt;/my:Phase_Duration&amp;gt;&amp;quot;;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;+ &amp;quot;&amp;lt;my:Phase_Est_Burn&amp;gt;&amp;quot; + phaseEstBurn + &amp;quot;&amp;lt;/my:Phase_Est_Burn&amp;gt;&amp;quot;;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;+ &amp;quot;&amp;lt;my:Phase_Act_Burn&amp;gt;&amp;quot; + phaseActBurn + &amp;quot;&amp;lt;/my:Phase_Est_Burn&amp;gt;&amp;quot;;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;vehicleXml += &amp;quot;&amp;lt;/my:Phase_Detail&amp;gt;&amp;quot; ;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;// Load new vehicle string into a temporary XML DOM.&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;var domNewRow = XDocument.CreateDOM();&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;domNewRow.validateOnParse = false;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;domNewRow.async = false;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;domNewRow.loadXML(vehicleXml);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;domNewRow.setProperty(&amp;quot;SelectionNamespaces&amp;quot;, &amp;#39;xmlns:xsi=&amp;quot;&lt;a href="http://www.w3.org/2001/XMLSchema-instance"&gt;http://www.w3.org/2001/XMLSchema-instance&lt;/a&gt;&amp;quot; xmlns:xhtml=&amp;quot;&lt;a href="http://www.w3.org/1999/xhtml"&gt;http://www.w3.org/1999/xhtml&lt;/a&gt;&amp;quot; xmlns:my=&amp;quot;&lt;a href="http://schemas.microsoft.com/office/infopath/2003/myXSD/2008-07-08T12:20:58"&gt;http://schemas.microsoft.com/office/infopath/2003/myXSD/2008-07-08T12:20:58&lt;/a&gt;&amp;quot; xmlns:xd=&amp;quot;&lt;a href="http://schemas.microsoft.com/office/infopath/2003%22&amp;#39;"&gt;http://schemas.microsoft.com/office/infopath/2003&amp;quot;&amp;#39;&lt;/a&gt;);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;// domNewRow.setProperty(&amp;quot;SelectionNamespaces&amp;quot;, &amp;#39;xmlns:my=&amp;quot;&lt;a href="http://schemas.microsoft.com/office/infopath/2003/myXSD/2008-07-08T12:20:58%22&amp;#39;"&gt;http://schemas.microsoft.com/office/infopath/2003/myXSD/2008-07-08T12:20:58&amp;quot;&amp;#39;&lt;/a&gt;);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;// Insert the new vehicle into the main DOM.&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;vehicleList.appendChild(domNewRow.selectSingleNode(&amp;quot;my:Vehicle&amp;quot;));&lt;br /&gt;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;&amp;nbsp;&amp;nbsp;catch(ex)&lt;br /&gt;&amp;nbsp;&amp;nbsp;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;XDocument.UI.Alert(&amp;quot;Could not insert row.\n\nError message:\n&amp;quot; + ex.Message);&lt;br /&gt;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;&amp;nbsp;}&lt;br /&gt;}&lt;br /&gt;&lt;/p&gt;</description></item></channel></rss>