สอบถามเรื่องการใช้ Ajax ค่ะ
พอดีว่าได้ทดลองเอา code Ajax จาก หน้านี้ ไปใช้ในการทำงาน แต่มีปัญหาตรงที่ว่าไม่สามารถเอาค่าที่ส่งกลับมาหน้าหลักมาใช้งานต่อได้น่ะค่ะ คือค่าที่นำไปประมวลผลในหน้าสองสามารถส่งกลับมาหน้าแรกได้ สามารถโชว์ใน textbox ตามตัวอย่างได้ แต่ไม่สามารถนำค่ามาแสดงผลแบบอื่นได้น่ะค่ะ (คือในงานจะต้องใช้ค่าแสดงผลลงบนกราฟที่เขียนด้วย html5 แต่ทำไม่ได้เลย) ไม่ทราบว่าพอทราบวิธีแก้ไขไหมคะ
ขอบคุณค่ะ
ขอบคุณค่ะ
ถ้าจะให้แสดงผลแบบ realtime ที่กราฟได้ ปัญหาคงอยู่ที่กราฟแล้วละครับ คงไม่ใช่ Ajax
เรื่องของเรื่องคือ Ajax มันสามารถแสดงผลลงใน textbox ได้แล้วตามความต้องการ ดังนั้น Ajax คงทำงานได้สมบูรณ์ตามหน้าที่ของมันแล้ว
ทีนี้เวลาวาดกราฟ ให้ออกแบบกราฟโดยวาดจากข้อมูลจาก Textbox ซึ่งถ้าข้อมูลจาก textbox อาจเปลี่ยนแปลงได้ตลอดเวลา ก็คงต้องมีการจับเวลาเพื่ออัปเดทกราฟกันละครับ
หรือ อาจจะอัปเดทกราฟทุกครั้งที่มีการเรียกใช้ Ajax ก้ได้
ตัวอย่างกราฟที่เป็นไปได้คือแบบนี้ละครับ http://www.anxioussilence.co.uk/...html-5-graph-slider/
แต่ทีนี้คือที่ไม่แน่ใจว่าปัญหาเกิดจากอะไรน่ะค่ะ ไม่ทราบว่าจะถามเพิ่มเติมได้ไหมคะ
คือการเอาข้อมูลขึ้นกราฟ ก่อนอื่นจะต้องแปลงค่าที่ประมวลผลได้จากหน้าที่สองมาเป็น int เสียก่อน ซึ่งหนูไม่ค่อยแน่ใจว่า ควรจะแปลงในหน้าที่สองให้เสร็จสรรพเลยแล้วค่อยโยนมาหน้าแรก หรือควรจะโยนมาหน้าแรกแล้วค่อยแปลงก่อนขึ้นกราฟดี เพราะพยายามลองทำแบบที่สองแล้ว แต่ค่าไม่เข้าตัวแปรที่ประกาศเอาไว้รองรับในหน้าแรกเลยน่ะค่ะ เลยไม่รู้ว่าเกิดจากอะไร
ขอบคุณค่ะ
ถ้ากราฟต้องการข้อมูลที่เป็นตัวเลข ก็ต้องแปลงเป็นตัวเลขเมื่อ Graph ต้องการอ่านนะครับ ถึงแม้ว่าจะแปลงเป็นตัวเลขแล้วใส่ input ไว้ ค่าที่อ่านจาก input ก็ยังเป็น string อยู่ดีครับ
ผมไม่รู้ว่าออกแบบกราฟเองหรือเปล่า แต่โดยทั่วไปแล้ว ถ้ากราฟที่แจกกันอยู่ ถ้ามันต้องการตัวเลขมันก็จะต้องแปลงเป็นตัวเลขที่กราฟเองเสมอ เพื่อความปลอดภัยครับ
ขอบคุณสำหรับคำปรึกษานะคะ ถ้ามีอะไรจะมาขอคำแนะนำใหม่นะคะ >/////< ขอบคุณค่ะ
หรือถ้าจำเป็นต้องแสดงค่าด้วยที่ input ก็เอาค่าใส่มันทั้ง input หรือตัวแปรด้วยเลยก็ได้ครับ
จาก doc ของทางเวปกราฟที่ใช้ เค้าแนะนำการใช้เอแจกซ์ดังนี้ค่ะ http://www.rgraph.net/docs/index.html#ajax ซึ่งเมื่อเปิดดูโค้ดของ gajax ดูแล้วมีพร้อมหมดแล้ว พอไล่ดูการทำงานไปเรื่อยๆ หนูคิดว่ามันน่าจะติดตรงที่ window.onload = function () น่ะค่ะ การจะโชว์กราฟได้เหมือนต้องผ่านการทำงานตรงนี้ก่อน แล้วค่อยไปอ่านไฟล์ javascript ของการเขียนกราฟ แล้วค่อยส่งไปขึ้น canvas ของ html5 แต่หนูไม่มีความรู้ด้านนี้เลย ถ้าจะขอคำแนะนำเกี่ยวกับการส่งค่าได้ไหมคะ
นี่คือตัวอย่างอื่นๆ ค่ะ
http://www.rgraph.net/docs/xml-data.html
http://www.rgraph.net/docs/dynamic.html
ขอบคุณค่ะ
เธอไม่ยอมแตกขั้นตอนการทำงาน เพื่อให้ง่ายต่อการแก้ปัญหาเนาะ...
ตอนนี้ผมมองว่าปัญหาจริงๆ คือ เธอไม่รู้ว่าอะไรคือปัญหามากกว่า ซึ่งเป็นสิ่งที่ผมตอบไม่ได้เช่นกัน เพราะไม่ได้ลงมือทำด้วย
ถ้าติดปัญหาที่ onload และติดปัญหาที่ไม่สามารถใช้ framework อื่นใดได้ ก็กลับไปใช้ Javascript พื้นฐานสิครับ
window.onload=function(){
// do something
};
ส่วนปัญหาเรื่อง canvas อาจเป็นเพราะ Browser ไม่สนับสนุนหรือเปล่าครับ ลองใช้ IE9 หรือ Firefox ดู
และถ้าต้องการใช้ Ajax ก็ลองอ่านบทความเรื่อง Ajax ดูครับ ซึ่งในความเป็นจริงถ้าคิดว่าการใช้ Framework มันยาก ก็อย่าไปมัวงมมันเลยครับ กลับไปใช้วิธีพื้นฐานของ Javascrpt ก้ได้
ส่วนเรื่องที่ script ต้องการไฟล์ xml ตัวอย่างก็มีไฟล์ xml มาให้ ให้ลองทดสอบการแสดงผล xml ตามตัวอย่างดู ซึ่งถ้าแสดงผลได้ สิ่งที่ต้องทำแค่เปลี่ยนจาก xml เป็น php และเขียน php เพื่อ echo เอาคำสั่งให้เหมือนกับที่ xml ตามตัวอย่างก็พอครับ
เดี๋ยวจะลองใช้ JS พื้นฐาน กับลองแบบ xml ดูค่ะ
ขอบคุณค่ะ
ยินดีด้วยครับ (หลังจากผ่านไป 2 เดือน)