การส่งเฉพาะค่าที่เปลี่ยนแปลงไปยังเซิร์ฟเวอร์ javascript

พูดคุย แลกเปลี่ยน ปัญหา การเขียน JavaScript เครื่องมือ AJAX Web 2.0 AJAX Framework Jquery

Moderator: mindphp

fa12mkungz
PHP Jr. Member
PHP Jr. Member
Posts: 19
Joined: 09/05/2012 11:25 am

การส่งเฉพาะค่าที่เปลี่ยนแปลงไปยังเซิร์ฟเวอร์ javascript

Post by fa12mkungz »

คือผมอยากได้ตัวอย่างการส่งเฉพาะค่าที่เปลี่ยนแปลงไปยังเซิร์ฟเวอร์

สมมุติโหลดหน้าเพจมาตอนแรก textbox มีค่า 'farm' อยู่ แล้วผมเปลี่ยนโดยพิมพ์คำอื่นลงไป

พอกดส่งก็จะส่งข้อมูลใหม่ออกไป ส่วนข้อมูลใน textbox ที่เราไม่ได้ไปเปลี่ยนค่าก็จะไม่ส่งอะไรออกไปอะครับ
touleg
PHP Super Member
PHP Super Member
Posts: 480
Joined: 25/01/2010 11:57 pm
Contact:

Re: การส่งเฉพาะค่าที่เปลี่ยนแปลงไปยังเซิร์ฟเวอร์

Post by touleg »

ต้องถามว่าส่งค่าแบบไหน ระหว่าง ส่งแบบธรรมดา กับแบบใช้ ajax

- ถ้าส่งแบบธรรมดา มันจะไม่สามารถกำหนดที่ต้นทางได้ว่าจะให้ส่งอะไรไปบ้าง แต่ให้ตรวจสอบค่าที่ฝั่งรับแนว่าค่าที่ส่งมาเป็นค่าว่างไหม หรือมีค่าหรือป่าว จากนั้นก็นำอันที่มีค่าไปใช้งาน
- อีกวิธีแบบ Ajax สามารถอ่านค่าโดยใช้ Javascript ตรวจสอบได้เลยว่า textbox ไหนมีค่าบ้าง ก็ให้นำมาต่อกันเป็นแบบ Serialize (name1=val1&name2=val2&...) แล้วส่งผ่าน ajax ได้เลย จะใช้พวก Jquery หรือจะเขียนขึ้นเองก็ได้ แบบนี้ปลายทางก็ไม่ต้องเขียนตรวจสอบ แต่เป็นการตรวจสอบที่ต้นทางแทน
touleg
PHP Super Member
PHP Super Member
Posts: 480
Joined: 25/01/2010 11:57 pm
Contact:

Re: การส่งเฉพาะค่าที่เปลี่ยนแปลงไปยังเซิร์ฟเวอร์

Post by touleg »

จากที่ดูจากความต้องการแล้ว น่าจะเป็นการแก้ไขข้อมูลใช้ไหมครับ ถ้าใช่ก็ให้ส่งค่าที่มีอยู่ใน Textbox ไปอัพเดทเลย ซึ่งจะเป็นค่าเก่าหรือใหม่นั้นไม่มีปัญหา เพราะถ้าเป็นค่าใหม่มันก็ update เปลี่ยนเป็นค่าใหม่ แต่ถ้าเป็นค่าเก่า มันก็ยังเป็นค่าเดิมถึงแม้จะอัพเดทใหม่ก็ตาม
fa12mkungz
PHP Jr. Member
PHP Jr. Member
Posts: 19
Joined: 09/05/2012 11:25 am

Re: การส่งเฉพาะค่าที่เปลี่ยนแปลงไปยังเซิร์ฟเวอร์

Post by fa12mkungz »

ใช้ ajax ครับ คือ ถ้ามีรายละเอียดหลายๆช่อง ผมอยากส่งไปบางส่วนที่เปลี่ยนแปลงอะครับ จะรู้ได้ยังไงว่ามันไม่ใช่ข้อมูลเก่า เพราะข้อมูลที่นำมาแสดงใน textbox ตอนโหลดเพจ ผมอ้างจาก id พอใส่ข้อมูลใหม่ เหมือนมันไปทับของเก่าเลย ตอนนี้ผมเลยไม่รู้ว่าจะแยกยังไง

Code: Select all

			function ajaxLoad(method,URL,data){
				ajax.open(method,URL);
				ajax.setRequestHeader("Content-Type", "application/x-www-form-urlencoded"); 
				ajax.onreadystatechange = function(){
					if(ajax.readyState==4 && ajax.status==200){
						var obj = eval ("(" + ajax.responseText + ")");  // eval() can be used to convert a JSON text into a JavaScript object.
						//alert(obj.RoomID);
						document.getElementById('jRoomID').value=obj.RoomID;
						document.getElementById('jTelNo').value=obj.TelNo;
						document.getElementById('jPowerNo').value=obj.PowerNo;

Code: Select all

	document.write("<tr><td>TelNo					</td><td><input name='jTelNo' type='text' id='jTelNo'></td></tr>");
				document.write("<tr><td>PowerNo				</td><td><input name='jPowerNo' type='text' id='jPowerNo'></td></tr>");
พอผมอยากจะเทียบ ไม่รู้จะเทียบยังไง

Code: Select all

			function fncSubmit(){
				var var1 = document.getElementById('jRoomID').value;
				alert(var1);
                                // ผมอยากจะเทียบตรงนี้จะทำยังไงได้บ้างครับ
			}
User avatar
mindphp
ผู้ดูแลระบบ MindPHP
ผู้ดูแลระบบ MindPHP
Posts: 25514
Joined: 22/09/2008 6:18 pm
Contact:

Re: การส่งเฉพาะค่าที่เปลี่ยนแปลงไปยังเซิร์ฟเวอร์

Post by mindphp »

ตอนดึงข้อมูลเก่ามาใส่ใน form เพื่อแก้ไข
เก็บค่าเก่าใส่ใน hidden field ของแต่ละตัวไว้ด้วย ก่อน ส่งก็เช็คค่าใน input filed ที่เปิดให้ user แก้ไข กับ hidden field แต่ละตัว ถ้าไ่ม่เท่ากันก็ให้ ajax ส่งไป
ติดตาม VDO: http://www.youtube.com/c/MindphpVideoman
ติดตาม FB: https://www.facebook.com/pages/MindphpC ... 9517401606
หมวดแชร์ความรู้: https://www.mindphp.com/forums/viewforum.php?f=29
รับอบรม และพัฒนาระบบ: https://www.mindphp.com/forums/viewtopic.php?f=6&t=2042
fa12mkungz
PHP Jr. Member
PHP Jr. Member
Posts: 19
Joined: 09/05/2012 11:25 am

Re: การส่งเฉพาะค่าที่เปลี่ยนแปลงไปยังเซิร์ฟเวอร์

Post by fa12mkungz »

คือเอาดึงค่ามาด้วยอีกชุดนึง แต่ซ่อนไว้ แล้วนำมาเทียบใช่มั้ยครับ

ขอบคุณครับ
User avatar
dev24x7
PHP Newbie
PHP Newbie
Posts: 6
Joined: 10/07/2012 12:43 am
Location: รามคำแหง กรุงเทพ
Contact:

Re: การส่งเฉพาะค่าที่เปลี่ยนแปลงไปยังเซิร์ฟเวอร์

Post by dev24x7 »

รบกวนขอ link รายละเอียดที่บอกว่า "AJAX... Serialize (name1=val1&name2=val2&...)" หน่อยครับ สนใจตัวนี้ครับ ขอบคุณล่วงหน้าครับผม
นับถือ, DEV24x7
Post Reply
  • Similar Topics
    Replies
    Views
    Last post

Return to “JavaScript & Jquery Ajax”

Who is online

Users browsing this forum: No registered users and 7 guests