Archive

Posts Tagged ‘Javascript’

OnClientClick with Validation in ASP.Net

March 26th, 2010 admin No comments

OnClientClick with Validation on ASP.Net

เมื่อ input ต้องการ validate รวมถึงการ confirm พร้อมๆกันจะทำอย่างไร ในเมื่อการใส่อย่างใดอย่างหนึ่งก็สามารถทำงานได้ในตัวของมันเอง แต่หากนำมันมารวมกัน ก็จะพบว่าการ validate input นั้นไม่ทำงาน

OnClientClick with Validation in ASP.Net

มีวิธีการแก้ไข 2 วิธี
1. ให้ alert confirm input ก่อน แล้วค่อยทำการ validate วิธีนี้ต้องใส่โค๊ดด้านล่างไว้ที่ Page_Load

btnSubmit.Attributes.Add("onclick", "if(confirm('do this ?') == false) return false;");

2. ให้ validate ก่อน แล้วค่อย alert confirm input ให้ใส่โค๊ดนี้ในส่วนของ asp:Button

OnClientClick="if (Page_ClientValidate('vd1')){return confirm('Are you sure you want to perform this action?')}"

OnClientClick with Validation in ASP.Net
สำหรับ page ไหนที่มี ValidationGroup หลายตัว ให้ใส่ชื่อ group นั้นใน Page_ClientValidate(’….’) ด้วย แต่ถ้ามี group เดียวก็ปล่อยว่างได้ครับ
สามารถอธิบายในส่วน if (Page_ClientValidate()) ได้ว่า ถ้าผ่านการ validate เรียบร้อยแล้ว จะทำงานในส่วนของภายใน if ดังนั้นถ้า validate ไม่ผ่าน ก็จะไม่เกิดอะไรขึ้นในส่วนนี้ครับ

ขอบคุณ
msdotnetsupport
stevekinsey

หวังว่าข้อมูลนี้จะเป็นประโยชน์ไม่มากก็น้อยนะครับ

javascript escape() encode url ภาษาไทย

December 25th, 2009 admin No comments

นานๆจะได้ลองเล่น Ajax ดู ก็เลยเกิดปัญหาที่ต้องส่งข้อมูลจาก javascript ไปยัง page อื่นเพื่อประมวลผล จริงๆจะไม่ใช้ Ajax ก็ได้ครับ แต่อารมณ์นั้นมันอยากลองของน่ะ เอาวิธีการใช้งาน Ajax จาก inoomzaa มาเล่นดูอ่ะ คือมันก็ใช้งานได้ดีกว่า .net 2.0 แต่มามีปัญหากับ .net 1.1 คงเพราะเป็น default encoding แหละครับ แก้ไปทุกกระบวนท่าใน page ขารับแล้วก็ไม่ได้ซักครั้ง จึงต้องใช้ท่าไม้ตาย เดินไปถามหัวหน้า(พี่ตู้) จึงได้คำตอบมาว่าให้ใส่ escape() ครอบข้อมูลในขาส่งไปยัง page ด้วย เพื่อ encode ก่อน เพราะภาษาไทยมีปัญหาเรื่องนี้ตลอดเลย ใช่ว่าจะหาคำตอบได้ง่ายๆ คนไทยเวลาพบปัญหาก็ไม่โพสวิธีการแก้ปัญหา พอไปหาเว็บนอก มันก็ไม่เจอปัญหาแบบที่คนไทยเจออีก เพราะของเค้าเป็นภาษาอังกฤษ ลองดูตัวอย่างโค๊ดนะครับ

1
2
// นี่เป็น javascript ในขาส่งครับ
xmlHttp.open("get","http://localhost/WEB/UtilPage/ResponseManualMsg.aspx?msg="+escape(Criteria.value),true); // ใช้ escape เข้าช่วย
1
2
// ส่วนนี่เป็นหน้า .aspx ในขารับ ธรรมดามากมาย
Response.Write(Request["msg"]); // ไม่ต้องแปลงอะไรเลย

เสร็จสมบูรณ์อย่างสวยงาม เสียเวลาไปตั้ง 2 วันแน่ะ ไว้วันหลังจะหาวิธีการใช้ ajax ที่ดีกว่านี้มาให้ดูนะครับ

Categories: ASP.NET, Javascript Tags: , ,