freelance, web developer, web designer, hosting, domain name
เมื่อกดปิดบราวเซอร์ จะมีการเรียก event onunload ครับ ให้ดัก event นี้ที่ body ครับ <body onunload = function(){....}>
onunload ก็ไปเรียกฟังก์ชั่นเดียวกันกับ เมื่อคลิก cancle สิครับ อาจทำได้โดยการเขียนคำสั่ง 2 ครั้ง คือใน cancle click และ ใน unload (แยกกัน) หรือ ให้ cancle click และ unload ไปเรียกฟังชั่นเดียวกัน ซึ่งภายในฟังก์ชั่นนั้นทำงานไปตามที่กำหนด function docancle() { alert('Cancle'); } <body onunload="docancle()"> <input type="button" name="cancle" onclick="docancle()" value="Cancle" />
นึกแล้วว่าต้องถาม.... <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> <HTML> <HEAD> <TITLE> New Document </TITLE> <script src="http://www.goragod.com/ajax/gajax.js" type="text/javascript"></script> <script type="text/javascript"> var docancle = function(event) { alert('unload'); } $G(window).addEvent('unload', docancle); </script> </HEAD> <BODY> <input type="button" name="cancle" onclick="docancle()" value="Cancle" /> </BODY> </HTML> ต้องใช้ Frame Work (GAJAX)เข้าช่วยละครับ เพื่อให้งานง่ายขึ้น
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> <HTML> <HEAD> <TITLE> New Document </TITLE> <script src="http://www.goragod.com/ajax/gajax.js" type="text/javascript"></script> <script type="text/javascript"> var docancle = function(event) { alert('unload'); } $G(window).addEvent('unload', docancle); </script> </HEAD> <BODY> <input type="button" name="cancle" onclick="docancle()" value="Cancle" /> </BODY> </HTML>
<BODY> <input type="button" name="cancle" onclick="docancle()" value="Cancle" /> </BODY> </HTML>
เมื่อกดปิดบราวเซอร์ จะมีการเรียก event onunload ครับ ให้ดัก event นี้ที่ body ครับ
<body onunload = function(){....}>
เด่วจะลองทำดูครับ
ขอบคุณมากครับ
มีปุ่ม ok และ cancel โดยปุ่ม ok จะส่งค่า num1 ไปยังหน้า test.php และ ปุ่ม cancel จะส่งค่า num2 ไปยังหน้า test.php
โดยที่ ค่า num1 และ num2 เกิดจากการ query ข้อมูลออกมา ถ้าต้องการให้ กดปิด(ตัวกากบาท)ตรง browser ทำหน้าที่เหมือนกับการกดปุ่ม cancel โดยที่ กดปิด(ตัวกากบาท)ตรง browser แล้วจะทำการส่งค่า num2 ไปยังหน้า test.php
ต้องทำยังไงหรอครับ
ขอบคุณล่วงหน้า สำหรับคำตอบนะครับ
onunload ก็ไปเรียกฟังก์ชั่นเดียวกันกับ เมื่อคลิก cancle สิครับ
อาจทำได้โดยการเขียนคำสั่ง 2 ครั้ง คือใน cancle click และ ใน unload (แยกกัน)
หรือ ให้ cancle click และ unload ไปเรียกฟังชั่นเดียวกัน ซึ่งภายในฟังก์ชั่นนั้นทำงานไปตามที่กำหนด
function docancle() {
alert('Cancle');
}
<body onunload="docancle()">
<input type="button" name="cancle" onclick="docancle()" value="Cancle" />
<input type="button" id="button" class="button" value="cancel" onClick="docancle()" />
โดย ตัวแปร $num2 เป็นการ query ออกมาจาก database
เมื่อทำการกด cancel สามารถทำงานได้ครับ แต่ถ้ากดปิด browser ไปจะไม่ทำงานจะไม่ทำงานในส่วน window.location น่ะครับ
ไม่ทราบว่าต้องแก้ไข หรือเพิ่มอะไรในส่วนนี้รึเปล่าครับ ถึงจะทำให้เมื่อปิด browser แล้วส่งค่า $num2 ไปยังหน้า test.php น่ะครับ
ขอบคุณล่วงหน้า สำหรับคำตอบนะครับ
นั่นแหละครับ ปัญหาของ unload เนื่องจากมันหวังผลไม่ค่อยได้ครับ และ ทำงานไม่เหมือนกันในแต่ละบราวเซอร์
ลอง window.onunload ดูครับ หรือไม่ก็อาจต้องใช้ FrameWork ช่วยครับ
นึกแล้วว่าต้องถาม....
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML>
<HEAD>
<TITLE> New Document </TITLE>
<script src="http://www.goragod.com/ajax/gajax.js" type="text/javascript"></script>
<script type="text/javascript">
var docancle = function(event) {
alert('unload');
}
$G(window).addEvent('unload', docancle);
</script>
</HEAD>
<BODY>
<input type="button" name="cancle" onclick="docancle()" value="Cancle" />
</BODY>
</HTML>
ต้องใช้ Frame Work (GAJAX)เข้าช่วยละครับ เพื่อให้งานง่ายขึ้น
โดยผมเปลี่ยน จากตรง alert('unload'); เป็น window.location="test.php?ord="+data; แทน อ้ะครับ ผลยังเหมือนเดิมอ้ะครับ
ขอบคุณสำหรับคำแนะนำนะครับ
ผมไม่รู้ว่าหน้านี้ถูกเรียกมาอย่างไร เป็น popup หรือไม่ อาจต้องเลี่ยงไปใช้วิธีอืนอีกหลายวิธีครับ
หลักๆแล้วปัญหาก็คือ ถ้าปิดกากบาทไป เราก็ไม่สามารถทำงานต่อได้ครับ ซึ่งในกรณีของการคลิก cancle จะสามารถทำงานต่อได้ เนื่องจาก window ยังอยู่ครับ
ขอบคุณสำหรับคำแนะนำดี ๆ นะครับ ^^