ต้องการ ปล็อค การ คีย์ ตัวเลข บนคีย์บอร์ด

แนะนำ สอบถาม ภาษา C สำหรับผู้เริ่มต้น ภาษา Java ภาษา Python

Moderator: mindphp, ผู้ดูแลกระดาน

mr.a
PHP Newbie
PHP Newbie
โพสต์: 7
ลงทะเบียนเมื่อ: 08/08/2011 8:16 am

ต้องการ ปล็อค การ คีย์ ตัวเลข บนคีย์บอร์ด

โพสต์ที่ยังไม่ได้อ่าน โดย mr.a »

ตอนนี้ผมสร้าง edit box ขึ้นมาตัวหนึ่ง ซึ่งสามารถ คีย์ ทั้งตัวเลขและตัวอักษรได้ ผมต้องการให้ไม่สามารถ คีย์ตัวเลขได้ต้องทำยังไงครับ
touleg
PHP Super Member
PHP Super Member
โพสต์: 480
ลงทะเบียนเมื่อ: 25/01/2010 11:57 pm
ติดต่อ:

Re: ต้องการ ปล็อค การ คีย์ ตัวเลข บนคีย์บอร์ด

โพสต์ที่ยังไม่ได้อ่าน โดย touleg »

เวลาผู้ใช้พิมพ์เข้าไปก็ตรวจสอบว่าเป็นตัวเลข 0-9 หรือป่าว ถ้าไม่ใช่ถึงจะทำต่อไป
ภาพประจำตัวสมาชิก
jataz2
PHP Super Member
PHP Super Member
โพสต์: 275
ลงทะเบียนเมื่อ: 22/02/2011 11:48 am

Re: ต้องการ ปล็อค การ คีย์ ตัวเลข บนคีย์บอร์ด

โพสต์ที่ยังไม่ได้อ่าน โดย jataz2 »

เป็น web app หรือ window app ครับ

ถ้าเป็น web app ก็ใช้ java script เข้ามาช่วยได้ครับ

ด้านล่างนี้เป็นตัวอย่างที่ใช้ javascript บังคับ ให้กรอกได้เฉพาะตัวเลขลงใน textbox

คือให้กรอกได้เฉพาะ keycode หมายเลข 48 ถึง 58 ซึ่งก็คือตัวเลข

ดังนั้นจาก logic นี้ก็เอาไปเเก้ไขได้ง่ายครับ เพียงเเค่หา keycode ของตัวอักษรมาใส่เเทน

ก็ใช้ได้เเล้วครับ

โค้ด: เลือกทั้งหมด

<html>
   <head>
       <script language="javascript">
          function forceNumber(event)
          {
              var keyCode = event.keyCode ? event.keyCode : event.charCode;
              if((keyCode < 48 || keyCode > 58) && keyCode != 8 && keyCode != 9)
                 return false;
          }
    </script>
   </head>
   <body>
         <asp:TextBox ID="txtMsisdn" runat="server" MaxLength="11" onkeypress="return forceNumber(event);" ToolTip="กรอกเบอร์โทร"></asp:TextBox>
   </body>
</html>
ภาพประจำตัวสมาชิก
jataz2
PHP Super Member
PHP Super Member
โพสต์: 275
ลงทะเบียนเมื่อ: 22/02/2011 11:48 am

Re: ต้องการ ปล็อค การ คีย์ ตัวเลข บนคีย์บอร์ด

โพสต์ที่ยังไม่ได้อ่าน โดย jataz2 »

เข้าไปดูตัวอักษรใด คือหมายเลข keycode อะไร ได้ที่นี่ครัับ http://www.webonweboff.com/tips/js/event_key_codes.aspx
touleg
PHP Super Member
PHP Super Member
โพสต์: 480
ลงทะเบียนเมื่อ: 25/01/2010 11:57 pm
ติดต่อ:

Re: ต้องการ ปล็อค การ คีย์ ตัวเลข บนคีย์บอร์ด

โพสต์ที่ยังไม่ได้อ่าน โดย touleg »

เค้าโพสที่บอร์ดนี้ ไม่น่าจะเป็น web app นะครับ
mr.a
PHP Newbie
PHP Newbie
โพสต์: 7
ลงทะเบียนเมื่อ: 08/08/2011 8:16 am

Re: ต้องการ ปล็อค การ คีย์ ตัวเลข บนคีย์บอร์ด

โพสต์ที่ยังไม่ได้อ่าน โดย mr.a »

ขอโทษที่เขียนไม่ครบถ้วนครับ คืออย่างนี้ครับ ผมมี edit box (VC ++)ตัวหนึ่ง ซึ่งรับค่าจาก การคีย์ข้อมูลโดย คีย์บอร์ดหรือ 2D scanner

ผมต้องการที่จะป้องกันการคีย์ ตัวเลขจากทางคีย์บอร์ด โดยที่ตัวอักษรอื่นบนคีย์บอร์ดยังใช้งานได้อยู่

แล้วใช้ 2D scanner เป็นตัวป้อนข้อมูลอย่างเดียว ไม่แน่ใจว่าสามารถทำได้หรือเปล่าครับ
touleg
PHP Super Member
PHP Super Member
โพสต์: 480
ลงทะเบียนเมื่อ: 25/01/2010 11:57 pm
ติดต่อ:

Re: ต้องการ ปล็อค การ คีย์ ตัวเลข บนคีย์บอร์ด

โพสต์ที่ยังไม่ได้อ่าน โดย touleg »

disable TextBox นั้นไม่ให้พิมพ์ได้ซิครับ
mr.a
PHP Newbie
PHP Newbie
โพสต์: 7
ลงทะเบียนเมื่อ: 08/08/2011 8:16 am

Re: ต้องการ ปล็อค การ คีย์ ตัวเลข บนคีย์บอร์ด

โพสต์ที่ยังไม่ได้อ่าน โดย mr.a »

ผมลอง disable แล้วครับ แต่ทั้งคีย์บอร์ด และ scanner ไม่สามารถป้อนข้อมูลลงไปได้เลยครับ

ผมต้องการประมาณว่ารับข้อมูลตัวเลขจาก scanner เท่านั้นครับ ส่วนตัวอักษรอื่นจะรับจาก คีย์บอร์ดครับ
touleg
PHP Super Member
PHP Super Member
โพสต์: 480
ลงทะเบียนเมื่อ: 25/01/2010 11:57 pm
ติดต่อ:

Re: ต้องการ ปล็อค การ คีย์ ตัวเลข บนคีย์บอร์ด

โพสต์ที่ยังไม่ได้อ่าน โดย touleg »

งั้นก็ใช้วิธีการ Map Message เอา โดยการ

1. เลือกที่คลาส ในหน้าต่าง Class View
2. ที่หน้าต่าง Properties เลือกรูปสี่เหลี่ยมด้านบน (CMappingView)
3. เลือก WM_KEYDOWN ด้านข้างเลือก event OnKeyDown

จากนั้นมันจะขึ้นฟังก์ชั่นใน โค้ดของเรา จะเขียนตรวจสอบอะไรก็เขียนลงไปในนั้น
ตอบกลับโพส

ผู้ใช้งานขณะนี้

สมาชิกกำลังดูบอร์ดนี้: ไม่มีสมาชิกใหม่ และบุคลทั่วไป 57