การสร้าง popup ที่แตกต่าง ด้วยวิธี showModalDialog

20 August 2010

การสร้าง หน้า window ใหม่ หรือ popup window ที่พิเศษ กว่า popup ที่ใช้ฟังก์ชัน window.open  ด้วยการใช้วิธีที่เรียกว่า showModalDialog 
dialog หรือ popup ทีสร้างจากวิธีแบบ showModalDialog  มีประโยชน์สำหรับการที่จะทำให้ผู้ใช้ให้ความสนใจต่อเนื้อหาในหน้าที่แสดง ซึ่งยังสามารถใช้แสดงข้อความที่มีความสำคัญที่ผู้ใช้ควรทำตามคำแนะนำหรือ ได้รับทราบเป็นข้อมูลไว้ ก่อนที่ดำเนินการอื่นๆ ต่อไป

ตัวอย่าง


วิธีสร้าง popup แบบ window.showModalDialog จะมีความคล้ายกับ วิธีการใช้งาน window.open คือการรับค่าชื่อไฟล์ หรือ url ที่ต้องการ แล้วเปิดเป็นหน้าต่างใหม่
ความแตกต่าง
window.showModalDialog จะสร้างหน้าต่างใหม่เสมอ แม้ว่าบราวเซอร์จะกำหนดให้เปิดหน้าต่างใหม่แบบ Tab ส่วน window.open จะขึ้นอยู่กับการตั้งค่าของ บราวเซอร์
และข้อแตกต่างที่สำคัญ คือ ผู้ใช้ต้องทำการปิด popup นั้นลงก่อน จึงจะใช้งานหน้าเว็บที่เปิด popup นั้นขึ้นมาได้ เป็นการโฟกัสผู้ใช้ไปยัง popup นั้นไปในตัว

การวิธีการข้างต้นผู้ใช้ยังสามารถใช้งานหน้าต่างอื่น หรือโปรแกรมอื่นได้ตามปกติ
 


ตัวอย่างโค้ด  (ทดสอบทำงานได้ดีใน IE และ Firefox ส่วนบราวเซอร์อื่น ทำงานคล้าย window.open)

 

<button onclick="popupModal('sample_data.php',500,200);">Sample Popup</button>

<script type="text/javascript">
function popupModal(url,width,height){
	var myDate=new Date();
	var setUniqe=myDate.getTime(); // ใช้สำหรับ ป้องกันการ cache กรณีกำลังทดสอบ
	
	var diaxFeature="dialogWidth:"+width+"px;"
	+"dialogHeight:"+height+"px;"
/*	+"dialogLeft:"+width+"px;"
	+"dialogTop:"+width+"px;"		*/
	+"center:yes;"
	+"edge:raised;" // sunken | raised 
	+"resizable:no;"
	+"status:no;"
	+"scroll:no;";	
	window.showModalDialog(url+"?"+setUniqe,"", diaxFeature);
	// กรณีไม่ใช้ setUniqe
	//  window.showModalDialog(url,"", diaxFeature); 
}
</script>

 








บทความในหมวดที่่น่าสนใจ อื่นๆ JAVASCRIPT Learning

22 Mar 09 สร้างฟังก์ชันโชว์รูปภาพขนาดใหญ่ด้วย javascript แบบง่าย อ่าน 4803 03 Nov 08 เปิด popup แล้วให้แสดงแบบ maximize อ่าน 4701 24 Feb 09 สร้างรูปแบบข้อความ เบอร์โทร เลขที่บัตรประชาชน เวลา ด้วย javascript อ่าน 4622 29 Dec 10 เพิ่มเติม การใช้งาน popup แบบ showModalDialog อย่างสมบูรณ์ อ่าน 4125 25 Sep 08 การสลับสีแถวในตารางด้วย javascript อ่าน 4075 25 Sep 08 การทำปุ่ม Print แบบรูปภาพ อ่าน 4024 26 Oct 08 เช็ค browser ด้วย javascript ได้ทั้ง IE Firefox Opera Chrome อ่าน 3983 06 Jan 09 บวกวันใน javascript ด้วยฟังก์ชัน day add อย่างง่าย อ่าน 3848 25 Sep 08 เลือกหรือไม่เลือก checkbox ทั้งหมด อ่าน 3841 26 Oct 08 การสร้างปุ่มยืนยันให้กับ ลิ้งค์ ด้วย function return confirm() อ่าน 3821 25 Sep 08 javasdcript กับการเข้ารหัส encoding และการถอดรหัส decoding อ่าน 3802 25 Sep 08 กรอกข้อมูลได้เฉพาะตัวเลข อ่าน 3712 25 Sep 08 ปิดหน้า Browser โดยไม่ต้องมีข้อความยืนยัน อ่าน 3667 28 Oct 08 การ hilight form ฟอร์มด้วย javascript อย่างง่าย อ่าน 3604 25 Mar 09 การใช้งานแอดทริบิวท์ autocomplete แบบพื้นฐาน อ่าน 3564

บทความคนเข้าอ่านวันนี้

20 Jul 10 CakePHP เริ่มต้นกับ mod rewrite ของ Apache อ่าน 1472 06 Nov 10 แนะนำ jQuery UI Effect แบบ ไม่ต้องใช้งานร่วมกับ event show hide และ toggle อ่าน 2576 02 Oct 10 สร้าง animation แนะนำเส้นทาง ใน google map อย่างง่าย อ่าน 2448 11 Dec 09 ทบทวน การเรียกใช้งาน events ใน javascript ที่ใช้ได้สำหรับ ทุก browsers อ่าน 2230 25 Sep 08 การกำหนดความกว้างความสูงของ element ด้วยฟังก์ชันของ jQuery อ่าน 2453 18 Oct 08 สร้างเมนูแนวตั้ง ด้วย CSS ไม่ต้องใช้ตารางอย่างง่าย อ่าน 3992 25 Sep 08 Functions ลบไฟล์ อ่าน 2396 17 Feb 09 การแปลงค่าตัวเลข ให้อยู่ในรูปแบบจำนวนเงิน มี comma ด้วย javascript อ่าน 2938 19 Feb 09 สร้างกล่อง alert ข้อความเฉพาะตัว ด้วย jQuery และ CSS อย่างง่าย อ่าน 4538 08 Oct 08 การกำหนด class มากกว่าหนึ่ง อ่าน 2477 12 Sep 10 การดึง attribute และค่าต่างๆ จาก xml ไฟล์ด้วย jQuery อย่างง่าย อ่าน 2424 26 Oct 08 แสดง popup window ตรงกลาง อ่าน 10183 03 Feb 11 การใช้งาน character classes ใน Regular Expressions ของ PHP อ่าน 1269 21 Sep 10 ทบทวน การจัดการกับ ตัวแปร array ใน javascript ด้วย ฟังก์ชัน ตอนที่ 1 อ่าน 1412 18 Aug 09 สร้าง ฟังก์ชั่น บันทึกหน้าเพจไว้ใน Favorites และ Bookmarks ด้วย javascript อ่าน 1677 25 Sep 08 สร้างฟังก์ชันในการหาจำนวนวัน ชั่วโมง นาที และวินาทีที่ผ่านมาแล้ว อ่าน 1989 02 Mar 10 ประยุกต์ แปลเนื้อหา ในเว็บไซต์ด้วย google translater api สำหรับ php อ่าน 1160 27 Aug 10 เทคนิค jQuery สร้าง preloading page หรือ loading image ก่อนแสดงหน้าเว็บ อ่าน 4681 12 Sep 10 จัดรูปแบบ NavigationControlOptions ใน Google Map อ่าน 1627 22 Oct 08 คำสั่ง SQL HAVING อ่าน 5295
จำนวนผู้เยี่ยมชม 784665
คน 2012 © Copyright ninenik.com. All rights reserved.