Monday, April 22, 2013
function ป้องกัน user กดคลิ๊ก ปุ่ม หลายๆครั้ง
เชื่อว่าหลายคนคงเจอปัญหานะครับ กับ การที่ user คลิ๊กปุ่มเดิมซ้ำๆ ในกรณี ที่คลิ๊กแล้ว page ไม่โหลดซะที
พอโหลดแล้วปรากฏว่า ข้อมูลขึ้นมาเต็มไปหมด (ในกรณีที่ เป็นการ save ข้อมูลใหม่นะครับ)
สำหรับ .NET 2.0 นะครับ ถ้า 1.1 ให้ ตัด “ClientScript” ออกครับ
Public Sub ClickOnceButton(ByRef page As Page, ByRef b As Button)Dim oneClickScript As System.Text.StringBuilder = New System.Text.StringBuilder()oneClickScript.Append(
“if (typeof(Page_ClientValidate) == ‘function’) { “)oneClickScript.Append(“if (Page_ClientValidate() == false) { return false; }} “)oneClickScript.Append(
“this.value = ‘Please wait…’;”)oneClickScript.Append(“this.disabled = true;”)oneClickScript.Append(page.ClientScript.GetPostBackEventReference(b,
“”))oneClickScript.Append(“;”)b.Attributes.Add(
“onclick”, oneClickScript.ToString())End Sub
ถามว่าใช้ .net 2.0 มี onClientClick ไม่ใช่เหรอ ทำไมไม่ใช้ ก็ใช้ได้ครับ ในกรณีที่ คุณไม่ได้ assign property onClientClick ไว้ที่ ปุ่ม
แต่ถ้าหา assign ค่าไว้ ค่าที่ assign ไว้จะถูกเขียนทับครับ
วิธีการใช้นะครับ
ClickOnceButton(Me.Page, Me.btnSave)
เท่านี้ เวลา ที่ use click ปุ่ม จะสามารถกดได้ครั้งเดียว เมื่อกดไปแล้วปุ่มจะถูก disable ไว้เหมือน ปุ่ม “ส่งข้อความใหม่” ของเวปบอร์ดแห่งนี้หล่ะครับ
ขอบคุณครับ
ที่มา: http://www.greatfriends.biz/webboards/msg.asp?id=41339
Labels:
asp.net
Subscribe to:
Post Comments (Atom)
No comments:
Post a Comment