{"id":264,"date":"2010-10-07T15:43:00","date_gmt":"2010-10-07T15:43:00","guid":{"rendered":"http:\/\/www.greytrix.com\/blogs\/sagecrm\/?p=264"},"modified":"2010-10-07T15:43:00","modified_gmt":"2010-10-07T15:43:00","slug":"referring-parent-window-objects-from-child-windows-in-javascript","status":"publish","type":"post","link":"https:\/\/www.greytrix.com\/blogs\/sagecrm\/2010\/10\/07\/referring-parent-window-objects-from-child-windows-in-javascript\/","title":{"rendered":"Referring Parent window objects from child windows in JavaScript."},"content":{"rendered":"<p>Everybody is quite familiar with the Add or Find Person functionality under Lead. Here we get a link under Person details saying Add or Find Person. Clicking this link will open a pop up to fill in the details of the person and new person is created in no time. As soon as we save the data the screen redirects back to summary page with Select Person button. Clicking this button closes the pop up window and sets the person created under Lead person details. <\/p>\n<p>We had a requirement stating the similar functionality explained above for custom entity. We provided the link similar to that of lead entity on our custom entity Person details. Clicking this button we managed to open new person entry form populating all the values by default with no problem. Thanks to my post on pop window handling http:\/\/sagecrmaddons.blogspot.com\/2010\/06\/javascript-popup-window.html :-)..<\/p>\n<p>Now here the hitch is, when we open popup window in edit mode and on save of the details set the value on parent page, it\u2019s quite easy task as here we can use the below script to refer parent window objects.<\/p>\n<p><em>window.parent.document.EntryForm.<yourfieldname><\/em> <\/p>\n<p>Now what do we mean by Parent in above statement? As per the JavaScript concept, parent of the current page is the page from where we come to the current page i.e. an immediate parent.<\/p>\n<p>Now if I have a page in edit mode which redirects to summary page after saving details, the parent of the page i.e. an opener window is lost and the editable screen becomes new parent. Due to this we won\u2019t be able to get the object of the page from where we opened this window. Now how do we set the value of field on parent window then? Well, you just need to change above line of code to following.<\/p>\n<p><em>window.opener.document.EntryForm.<yourfieldname> <\/em><\/p>\n<p>Using opener will get you the object of opener page wherever you redirect in your popup window. The same phenomenon explained above for pop up window also works for IFRAMES as they are also the child windows and work in similar manner.<\/p>\n<p><marquee width=\"80%\"><b>If you find this content useful, please feel free to drop us an email at <a href=\"mailto:crm@greytrix.com\" title=\"mailto:crm@greytrix.com\">crm@greytrix.com<\/a>. <\/b><\/marquee><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Everybody is quite familiar with the Add or Find Person functionality under Lead. Here we get a link under Person details saying Add or Find Person. Clicking this link will open a pop up to fill in the details of the person and new person is created in no time. As soon as we save\u2026 <span class=\"read-more\"><a href=\"https:\/\/www.greytrix.com\/blogs\/sagecrm\/2010\/10\/07\/referring-parent-window-objects-from-child-windows-in-javascript\/\">Read More &raquo;<\/a><\/span><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1],"tags":[1471,1781,1784,2232],"class_list":["post-264","post","type-post","status-publish","format-standard","hentry","category-uncategorized","tag-javascript","tag-popup","tag-popupwindow","tag-script"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v26.3 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Referring Parent window objects from child windows in JavaScript. - Sage CRM \u2013 Tips, Tricks and Components<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.greytrix.com\/blogs\/sagecrm\/2010\/10\/07\/referring-parent-window-objects-from-child-windows-in-javascript\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Referring Parent window objects from child windows in JavaScript. - Sage CRM \u2013 Tips, Tricks and Components\" \/>\n<meta property=\"og:description\" content=\"Everybody is quite familiar with the Add or Find Person functionality under Lead. Here we get a link under Person details saying Add or Find Person. Clicking this link will open a pop up to fill in the details of the person and new person is created in no time. As soon as we save\u2026 Read More &raquo;\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.greytrix.com\/blogs\/sagecrm\/2010\/10\/07\/referring-parent-window-objects-from-child-windows-in-javascript\/\" \/>\n<meta property=\"og:site_name\" content=\"Sage CRM \u2013 Tips, Tricks and Components\" \/>\n<meta property=\"article:published_time\" content=\"2010-10-07T15:43:00+00:00\" \/>\n<meta name=\"author\" content=\"greysagecrm\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"greysagecrm\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"2 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.greytrix.com\/blogs\/sagecrm\/2010\/10\/07\/referring-parent-window-objects-from-child-windows-in-javascript\/\",\"url\":\"https:\/\/www.greytrix.com\/blogs\/sagecrm\/2010\/10\/07\/referring-parent-window-objects-from-child-windows-in-javascript\/\",\"name\":\"Referring Parent window objects from child windows in JavaScript. - Sage CRM \u2013 Tips, Tricks and Components\",\"isPartOf\":{\"@id\":\"https:\/\/www.greytrix.com\/blogs\/sagecrm\/#website\"},\"datePublished\":\"2010-10-07T15:43:00+00:00\",\"author\":{\"@id\":\"https:\/\/www.greytrix.com\/blogs\/sagecrm\/#\/schema\/person\/e7ff1c8f4763b47730d6bc5e74d59c1f\"},\"breadcrumb\":{\"@id\":\"https:\/\/www.greytrix.com\/blogs\/sagecrm\/2010\/10\/07\/referring-parent-window-objects-from-child-windows-in-javascript\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.greytrix.com\/blogs\/sagecrm\/2010\/10\/07\/referring-parent-window-objects-from-child-windows-in-javascript\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.greytrix.com\/blogs\/sagecrm\/2010\/10\/07\/referring-parent-window-objects-from-child-windows-in-javascript\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/www.greytrix.com\/blogs\/sagecrm\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Referring Parent window objects from child windows in JavaScript.\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/www.greytrix.com\/blogs\/sagecrm\/#website\",\"url\":\"https:\/\/www.greytrix.com\/blogs\/sagecrm\/\",\"name\":\"Sage CRM \u2013 Tips, Tricks and Components\",\"description\":\"Explore the possibilities with Sage CRM insights through our comprehensive blogs. As a leading Sage partner, Greytrix helps businesses maximize their Sage CRM potential with its rich expertise and immense knowledge. Here, you will find blogs that feature expert advice, tips &amp; tricks, best practices, and comprehensive guides on customizing and configuring Sage CRM for your business. Stay informed with our regular updates and expert insights!\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/www.greytrix.com\/blogs\/sagecrm\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Person\",\"@id\":\"https:\/\/www.greytrix.com\/blogs\/sagecrm\/#\/schema\/person\/e7ff1c8f4763b47730d6bc5e74d59c1f\",\"name\":\"greysagecrm\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.greytrix.com\/blogs\/sagecrm\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/c3b4325cb326e36467f945b9b9adf2bb85e907fe092d42eb36b39743b492e626?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/c3b4325cb326e36467f945b9b9adf2bb85e907fe092d42eb36b39743b492e626?s=96&d=mm&r=g\",\"caption\":\"greysagecrm\"},\"url\":\"https:\/\/www.greytrix.com\/blogs\/sagecrm\/author\/greysagecrm\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Referring Parent window objects from child windows in JavaScript. - Sage CRM \u2013 Tips, Tricks and Components","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.greytrix.com\/blogs\/sagecrm\/2010\/10\/07\/referring-parent-window-objects-from-child-windows-in-javascript\/","og_locale":"en_US","og_type":"article","og_title":"Referring Parent window objects from child windows in JavaScript. - Sage CRM \u2013 Tips, Tricks and Components","og_description":"Everybody is quite familiar with the Add or Find Person functionality under Lead. Here we get a link under Person details saying Add or Find Person. Clicking this link will open a pop up to fill in the details of the person and new person is created in no time. As soon as we save\u2026 Read More &raquo;","og_url":"https:\/\/www.greytrix.com\/blogs\/sagecrm\/2010\/10\/07\/referring-parent-window-objects-from-child-windows-in-javascript\/","og_site_name":"Sage CRM \u2013 Tips, Tricks and Components","article_published_time":"2010-10-07T15:43:00+00:00","author":"greysagecrm","twitter_card":"summary_large_image","twitter_misc":{"Written by":"greysagecrm","Est. reading time":"2 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/www.greytrix.com\/blogs\/sagecrm\/2010\/10\/07\/referring-parent-window-objects-from-child-windows-in-javascript\/","url":"https:\/\/www.greytrix.com\/blogs\/sagecrm\/2010\/10\/07\/referring-parent-window-objects-from-child-windows-in-javascript\/","name":"Referring Parent window objects from child windows in JavaScript. - Sage CRM \u2013 Tips, Tricks and Components","isPartOf":{"@id":"https:\/\/www.greytrix.com\/blogs\/sagecrm\/#website"},"datePublished":"2010-10-07T15:43:00+00:00","author":{"@id":"https:\/\/www.greytrix.com\/blogs\/sagecrm\/#\/schema\/person\/e7ff1c8f4763b47730d6bc5e74d59c1f"},"breadcrumb":{"@id":"https:\/\/www.greytrix.com\/blogs\/sagecrm\/2010\/10\/07\/referring-parent-window-objects-from-child-windows-in-javascript\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.greytrix.com\/blogs\/sagecrm\/2010\/10\/07\/referring-parent-window-objects-from-child-windows-in-javascript\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/www.greytrix.com\/blogs\/sagecrm\/2010\/10\/07\/referring-parent-window-objects-from-child-windows-in-javascript\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.greytrix.com\/blogs\/sagecrm\/"},{"@type":"ListItem","position":2,"name":"Referring Parent window objects from child windows in JavaScript."}]},{"@type":"WebSite","@id":"https:\/\/www.greytrix.com\/blogs\/sagecrm\/#website","url":"https:\/\/www.greytrix.com\/blogs\/sagecrm\/","name":"Sage CRM \u2013 Tips, Tricks and Components","description":"Explore the possibilities with Sage CRM insights through our comprehensive blogs. As a leading Sage partner, Greytrix helps businesses maximize their Sage CRM potential with its rich expertise and immense knowledge. Here, you will find blogs that feature expert advice, tips &amp; tricks, best practices, and comprehensive guides on customizing and configuring Sage CRM for your business. Stay informed with our regular updates and expert insights!","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.greytrix.com\/blogs\/sagecrm\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Person","@id":"https:\/\/www.greytrix.com\/blogs\/sagecrm\/#\/schema\/person\/e7ff1c8f4763b47730d6bc5e74d59c1f","name":"greysagecrm","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.greytrix.com\/blogs\/sagecrm\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/c3b4325cb326e36467f945b9b9adf2bb85e907fe092d42eb36b39743b492e626?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/c3b4325cb326e36467f945b9b9adf2bb85e907fe092d42eb36b39743b492e626?s=96&d=mm&r=g","caption":"greysagecrm"},"url":"https:\/\/www.greytrix.com\/blogs\/sagecrm\/author\/greysagecrm\/"}]}},"_links":{"self":[{"href":"https:\/\/www.greytrix.com\/blogs\/sagecrm\/wp-json\/wp\/v2\/posts\/264","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.greytrix.com\/blogs\/sagecrm\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.greytrix.com\/blogs\/sagecrm\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.greytrix.com\/blogs\/sagecrm\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.greytrix.com\/blogs\/sagecrm\/wp-json\/wp\/v2\/comments?post=264"}],"version-history":[{"count":0,"href":"https:\/\/www.greytrix.com\/blogs\/sagecrm\/wp-json\/wp\/v2\/posts\/264\/revisions"}],"wp:attachment":[{"href":"https:\/\/www.greytrix.com\/blogs\/sagecrm\/wp-json\/wp\/v2\/media?parent=264"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.greytrix.com\/blogs\/sagecrm\/wp-json\/wp\/v2\/categories?post=264"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.greytrix.com\/blogs\/sagecrm\/wp-json\/wp\/v2\/tags?post=264"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}