Java Script สำหรับเช็คฟอร์ม input
December 22, 2007 – 11:23 pmเคยไหม เวลาที่คุณต้องการทำฟอร์มอินพุต เพื่อกรอกรายละเอียดต่างๆ แล้วส่งค่า เช่นทำฟอร์มให้กรอกหมายเลขโทรศัพท์ แต่ใส่พวกตัวอักษรเข้ามา ทำให้เราได้รับข้อมูลที่ผิดพลาด มันก็มีอยู่หลายวิธีครับ ในการบล๊อกพวกนี้ แต่ผมมีอยู่วีธีนึง ที่สั้นๆ ง่ายๆ โดยการใช้ javascript แต่…มันมีข้อเสียอยู่อย่างเดียว คือเว็ปที่ใส่จาวา เยอะๆ มันจะชอบดีกันแล้วไม่ทำงาน เวลาใช้ก็ต้องดูๆหน่อยละครับ เอ้า ไม่พูดพล่ามทำเพลง มาดูวิธีทำเลยดีกว่าง่ายๆครับ ก๊อปไปเลยก็ได้ตามนี้(ใส่หน้าเดียวกับฟอร์ม ในแท็ก Body ก็ได้ครับ)
<script>
function bannedKey(evt)
{
var allowedEng = true; //อนุญาตให้คีย์อังกฤษ
var allowedThai = false; //อนุญาตให้คีย์ไทย
var allowedNum = true; //อนุญาตให้คีย์ตัวเลข
var k = event.keyCode;/* เช็คตัวเลข 0-9 */
if (k>=48 && k<=57) { return allowedNum; }
/* เช็คคีย์อังกฤษ a-z, A-Z */
if ((k>=65 && k<=90) || (k>=97 && k<=122)) { return allowedEng; }
/* เช็คคีย์ไทย ทั้งแบบ non-unicode และ unicode */
if ((k>=161 && k<=255) || (k>=3585 && k<=3675)) { return allowedThai; }
}
</script>
สังเกตุ ส่วนนี้นะครับ
var allowedEng = true; //อนุญาตให้คีย์อังกฤษ
var allowedThai = false; //อนุญาตให้คีย์ไทย
var allowedNum = true; //อนุญาตให้คีย์ตัวเลข
คือ หากจะไม่อนุญาติให้ใส่อะไรอันไหนเข้ามาก็เซต เปน false นะครับ ถ้าอณุญาติอันไหนก็ใส่ true ซะ
ในกรณีนี้ที่เซตไว้คือ ให้ใส่ ภาษาอังกฤษ กับ ตัวเลขได้เท่านั้น ภาษาไทยจะพิมม่ายได้ค้าบมาดูตัวอย่างฟอร์มกันครับ
<form id=”form1″ name=”form1″ method=”post” action=”">
<input name=”text” type=”text” onkeypress=”return bannedKey(event)” />
<input type=”submit” name=”Submit” value=”Submit” />
</form>
แค่นี้ละครับง่ายๆ ลองดูนะครับ
![]()
ขอบคุณนะค่ะ ขอเอาไปใช้ด้วย 1 คน
แต่ขอคำอธิบายเพิ่มอีกนิดได้ไหมค่ะ เผื่อมีคนถาม^^
แบบทำไมถึงเป็นเลข 65, 90 อะไรแบบนี้อ่ะค่ะ