ลำดับการรันโปรแกรม

ถาม-ตอบ แนะนำไอเดียว โค้ดตัวอย่าง แนวทาง วิธีแก้ปัญหา ลำดับการรันโปรแกรม

ลำดับการรันโปรแกรม

เนื่องจากว่าผมต้องการเขียนโปรแกรมเช็ค email ด้วย jquery ดังนี้ครับ

<!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 
ซึ่งผมเข้าใจว่าอาจเป็นเพราะตัว $.ajax ทำงานช้ากว่าจะดึงข้อมูลออกมาได้ จึงไม่ทราบว่าจะมีวิธีใดที่จะให้โปรแกรมทำงานเป็น 1,2,3 หรือไม่ครับ
ขอบคุณมากๆๆครับ

 



Ronnaphome 124.120.80.xxx 24-10-2010 22:11:09

คำแนะนำ และการใช้งาน

สมาชิก กรุณา ล็อกอินเข้าระบบ เพื่อตั้งคำถามใหม่ หรือ ตอบคำถาม สมาชิกใหม่ สมัครสมาชิกได้ที่ สมัครสมาชิก


  • ถาม-ตอบ กรุณา ล็อกอินเข้าระบบ
  • เปลี่ยน


    ( หรือ เข้าใช้งานผ่าน Social Login )

 ความคิดเห็นที่ 1
  <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>

 



Ninenik 124.120.20.xxx 25-10-2010
 ความคิดเห็นที่ 2

แล้วถ้าหากว่า ผมเขียนโค้ดดังนี้

  <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 ทุกครั้ง ไม่ทราบว่าผมทำอะไรผิดหรือปล่าวครับ
ขอบคุณครับ

 



Ronnaphome 124.122.169.xxx 25-10-2010 13:49
 ความคิดเห็นที่ 3

 ตามที่เข้าใจ ว่า $.ajax ทำงานช้ากว่าจะดึงข้อมูลออกมาได้

 
ลองเอา return yReturn;   เข้าไปไว้ใน success
 
    if(response == 'failed'){  
	    yResult = false;  
    }  
    return yReturn;  


Ninenik 183.89.153.xxx 25-10-2010
 ความคิดเห็นที่ 4

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



Ronnaphome 124.122.169.xxx 25-10-2010 14:24
1






เว็บไซต์ของเราให้บริการเนื้อหาบทความสำหรับนักพัฒนา โดยพึ่งพารายได้เล็กน้อยจากการแสดงโฆษณา โปรดสนับสนุนเว็บไซต์ของเราด้วยการปิดการใช้งานตัวปิดกั้นโฆษณา (Disable Ads Blocker) ขอบคุณครับ