ลำดับการรันโปรแกรม
ถาม-ตอบ แนะนำไอเดียว โค้ดตัวอย่าง แนวทาง วิธีแก้ปัญหา ลำดับการรันโปรแกรม
ลำดับการรันโปรแกรม
เนื่องจากว่าผมต้องการเขียนโปรแกรมเช็ค email ด้วย jquery ดังนี้ครับ
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 | <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd" > <html> <head> <script src= "include/jquery.js" ></script> <script> function check(){ alert( '1' ); $.ajax({ type: "POST" , url: "response.php" , data:{typeData: "ch_email" ,email:$( "#email" ).val()}, success: function (response){ alert( '2' ); } }); alert( '3' ); } </script> </head> <body> <form name= "form1" method= "post" action= "" > <label> <input name= "email" type= "text" id= "email" /> <input name= "click" type= "button" id= "click" value= "CLICK" onClick= "check()" > </label> </form> </body> </html> ซึ่งจากโค้ดผมได้ให้โปรแกรม alert ลำดับการ Run ออกมา ปรากฏว่าโปรแกรม alert ออกมา คือ 1,3,2 |
1 2 | ซึ่งผมเข้าใจว่าอาจเป็นเพราะตัว $.ajax ทำงานช้ากว่าจะดึงข้อมูลออกมาได้ จึงไม่ทราบว่าจะมีวิธีใดที่จะให้โปรแกรมทำงานเป็น 1,2,3 หรือไม่ครับ ขอบคุณมากๆๆครับ |

คำแนะนำ และการใช้งาน
สมาชิก กรุณา ล็อกอินเข้าระบบ เพื่อตั้งคำถามใหม่ หรือ ตอบคำถาม สมาชิกใหม่ สมัครสมาชิกได้ที่ สมัครสมาชิก
- ถาม-ตอบ กรุณา ล็อกอินเข้าระบบ
ความคิดเห็นที่
1
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 | <script> function check(){ alert( '1' ); $.ajax({ type: "POST" , url: "response.php" , data:{typeData: "ch_email" ,email:$( "#email" ).val()}, success: function (response){ alert( '2' ); alert( '3' ); } }); } </script> |

ความคิดเห็นที่
2
แล้วถ้าหากว่า ผมเขียนโค้ดดังนี้
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 | <script> function check(){ var yReturn = true ; $.ajax({ type: "POST" , url: "response.php" , data:{typeData: "ch_email" ,email:$( "#email" ).val()}, success: function (response){ if (response == 'failed' ){ yResult = false ; } } }); return yReturn; } </script> ผมให้โปรแกรมหยุดทำงานหาก email ซ้ำ แต่ปรากฏว่ามัน return true ทุกครั้ง ไม่ทราบว่าผมทำอะไรผิดหรือปล่าวครับ ขอบคุณครับ |

ความคิดเห็นที่
3
ตามที่เข้าใจ ว่า $.ajax ทำงานช้ากว่าจะดึงข้อมูลออกมาได้
ลองเอา return yReturn; เข้าไปไว้ใน success
1 2 3 4 | if (response == 'failed' ){ yResult = false; } return yReturn; |

ความคิดเห็นที่
4
ขอบคูณมากๆๆครับ เด๋ยวผมจะลองเอาไปเขียนดูครับ ได้ไม่ได้จะมา share กันครับ

ขอบคุณทุกการสนับสนุน
![]()