<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Heem : Knowledge Sharing &#187; Javascript</title>
	<atom:link href="http://www.heemza.com/tag/javascript/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.heemza.com</link>
	<description>มีอะไร เอาออกมาแชร์ !!</description>
	<lastBuildDate>Sun, 09 May 2010 03:06:39 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.2</generator>
		<item>
		<title>ส่งค่าจากหน้าต่างป๊อปอัพไปยังหน้าต่างหลัก</title>
		<link>http://www.heemza.com/2009/01/passing-value-from-child-window-to-parrent-window/</link>
		<comments>http://www.heemza.com/2009/01/passing-value-from-child-window-to-parrent-window/#comments</comments>
		<pubDate>Sun, 04 Jan 2009 04:37:19 +0000</pubDate>
		<dc:creator>heem</dc:creator>
				<category><![CDATA[Programming]]></category>
		<category><![CDATA[Javascript]]></category>
		<category><![CDATA[opener]]></category>

		<guid isPermaLink="false">http://www.heemza.com/?p=11</guid>
		<description><![CDATA[อ่านหัวข้อแล้วบางคนอาจจะงง ว่ามันคืออะไร ในที่นี้ถ้าเข้าใจง่ายๆ ก็คือวิธีการส่งค่าจากหน้าต่าง Popup (Child window)  ไปยังหน้าต่างที่เปิด Popup นั้น (Parent window)  ในที่นี้ขอเรียกว่า หน้าต่างป๊อปอัพ และหน้าต่างหลักนะครับ จากหน้าต่างป๊อปอัพ เมื่อถูกเปิดขึ้นแล้ว เราจะสามารถส่งค่างต่าไปยังหน้าต่างหลักได้โดยใช้ JavaScript  เราจะเรียกหน้าต่างหลักว่า opener ดังนั้น หน้าต่างป๊อปอัพจะส่งค่าไปได้โดยใช้ opener.document เพื่อความเข้าใจ สมมติให้ฟอร์มจากหน้าต่างหลักชื่อ frm1 และกล่องข้อความ(textbox) ที่เราจะใช้รับค่ามาชื่อ p_value ดังนั้นจากหน้าต่างป๊อปอัพเราเข้าถึงกล่องข้อความในหน้าต่างหลักได้โดยใช้ แต่ถ้าหากเราต้องการส่งค่าจากวัตถุ(object) อื่นๆในหน้าต่างป๊อปอัพ ไปยังหน้าต่างหลักได้โดยการอ้างถึงวัตถุนั้นๆ ยกตัวอย่างเช่นต้องการส่งค่าจาก c_value ในหน้าต่างป๊อปอัพไป เราจะใช้ได้ว่า เราสามารถใส่ไว้ในฟังก์ชั่น และเรียกฟังก์ชั่นจาก onclick ของปุ่มได้ และหลังจากส่งค่าแล้ว เราสามารถสั่งให้ปิดหน้าต่างป๊อปอัพได้ด้วย ตัวอย่างนะครับ คลิกที่ข้อความเพื่อเปิดป๊อปอัพ และใส่ข้อมูลลงในหน้าต่างป๊อปอัพ และเมื่อกดส่งข้อมูล ข้อมูลก็จะมาอยู่ที่หน้าต่างหลักนี้ครับ เปิดป๊อปอัพ   นี่คือตัวอย่างโค้ดของหน้าต่างหลัก และนี่คือตัวอย่างโค้ดของหน้าต่างป๊อปอัพ ลองนำไปประยุกต์ดูนะครับ]]></description>
			<content:encoded><![CDATA[<p>อ่านหัวข้อแล้วบางคนอาจจะงง ว่ามันคืออะไร ในที่นี้ถ้าเข้าใจง่ายๆ ก็คือวิธีการส่งค่าจากหน้าต่าง Popup (Child window)  ไปยังหน้าต่างที่เปิด Popup นั้น (Parent window)  ในที่นี้ขอเรียกว่า หน้าต่างป๊อปอัพ และหน้าต่างหลักนะครับ</p>
<p>จากหน้าต่างป๊อปอัพ เมื่อถูกเปิดขึ้นแล้ว เราจะสามารถส่งค่างต่าไปยังหน้าต่างหลักได้โดยใช้ JavaScript  เราจะเรียกหน้าต่างหลักว่า opener ดังนั้น หน้าต่างป๊อปอัพจะส่งค่าไปได้โดยใช้ opener.document</p>
<p><span id="more-11"></span><br />
เพื่อความเข้าใจ<br />
สมมติให้ฟอร์มจากหน้าต่างหลักชื่อ frm1 และกล่องข้อความ(textbox) ที่เราจะใช้รับค่ามาชื่อ p_value ดังนั้นจากหน้าต่างป๊อปอัพเราเข้าถึงกล่องข้อความในหน้าต่างหลักได้โดยใช้</p>
<pre class="brush: jscript; title: ; toolbar: false; notranslate">
opener.document.frm1.p_value = &quot;ค่าที่ต้องการส่ง&quot;;
</pre>
<p>แต่ถ้าหากเราต้องการส่งค่าจากวัตถุ(object) อื่นๆในหน้าต่างป๊อปอัพ ไปยังหน้าต่างหลักได้โดยการอ้างถึงวัตถุนั้นๆ ยกตัวอย่างเช่นต้องการส่งค่าจาก c_value ในหน้าต่างป๊อปอัพไป เราจะใช้ได้ว่า</p>
<pre class="brush: jscript; title: ; toolbar: false; notranslate">
opener.document.frm1.p_value = document.frmChild.c_value.value;
</pre>
<p>เราสามารถใส่ไว้ในฟังก์ชั่น และเรียกฟังก์ชั่นจาก onclick ของปุ่มได้ และหลังจากส่งค่าแล้ว เราสามารถสั่งให้ปิดหน้าต่างป๊อปอัพได้ด้วย</p>
<pre class="brush: jscript; title: ; toolbar: false; notranslate">self.close();</pre>
<p>ตัวอย่างนะครับ คลิกที่ข้อความเพื่อเปิดป๊อปอัพ และใส่ข้อมูลลงในหน้าต่างป๊อปอัพ และเมื่อกดส่งข้อมูล ข้อมูลก็จะมาอยู่ที่หน้าต่างหลักนี้ครับ</p>
<form id="frm1" enctype="application/x-www-form-urlencoded" method="post">
<input id="p_value" name="p_value" size="10" type="text" /> <a onclick="window.open('http://www.heemza.com/wp-content/uploads/2009/01/popup.html','tester','width=320,height=150');" href="javascript:void(0);">เปิดป๊อปอัพ</a></form>
<p> <br />
นี่คือตัวอย่างโค้ดของหน้าต่างหลัก</p>
<pre class="brush: xml; title: ; notranslate">
&lt;form id=&quot;frm1&quot; enctype=&quot;application/x-www-form-urlencoded&quot; method=&quot;post&quot;&gt;
&lt;input id=&quot;p_value&quot; name=&quot;p_value&quot; size=&quot;10&quot; type=&quot;text&quot; /&gt;
&lt;a onclick=&quot;window.open('popup.html','tester','width=320,height=150');&quot; href=&quot;javascript:void(0);&quot;&gt;เปิด PopUp&lt;/a&gt;
&lt;/form&gt;
</pre>
<p>และนี่คือตัวอย่างโค้ดของหน้าต่างป๊อปอัพ</p>
<pre class="brush: xml; title: ; notranslate">
&lt;script type=&quot;text/javascript&quot;&gt;
function pass_value(){
  opener.document.getElementById(&quot;p_value&quot;).value = document.frmChild.c_value.value;
  self.close();
}
&lt;/script&gt;
&lt;form id=&quot;frmChild&quot; enctype=&quot;application/x-www-form-urlencoded&quot; method=&quot;post&quot;&gt;

ใส่ค่าที่ต้องการส่ง
&lt;input id=&quot;c_value&quot; name=&quot;c_value&quot; type=&quot;text&quot; /&gt;
&lt;input id=&quot;click&quot; onclick=&quot;pass_value()&quot; name=&quot;click&quot; type=&quot;button&quot; value=&quot;Submit&quot; /&gt;
&lt;/form&gt;
</pre>
<p>ลองนำไปประยุกต์ดูนะครับ</p>
]]></content:encoded>
			<wfw:commentRss>http://www.heemza.com/2009/01/passing-value-from-child-window-to-parrent-window/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
	</channel>
</rss>

