ให้เรตสมาชิก: 3 / 5

ดาวใช้งานดาวใช้งานดาวใช้งานดาวไม่ได้ใช้งานดาวไม่ได้ใช้งาน
 

บทที่ 19 JavaScript Form Validation


    JavaScript สามารถเขียนคำสั่งเพื่อตรวจสอบการป้อนข้อมูลในฟอร์มก่อนที่จะส่งข้อมูลนั้นไปประมวลผลที่เซิร์ฟเวอร์ เช่น การตรวจสอบฟิลด์ที่ต้องป้อนข้อมูล ,ตรวจสอบการ ป้อนข้อมูลอีเมลล์, ตรวจสอบการป้อนข้อมูลวันที่ , ตรวจสอบการป้อนข้อมูลตัวเลข เป็นต้น
     Form Validation คือ การตรวจสอบข้อมูลของฟอร์ม เป็นขั้นตอนที่ช่วยในการตรวจสอบให้ข้อมูลที่รับจากฟอร์ม HTML   มีความถูกต้อง ตรงตามที่ต้องการให้มากที่สุด ซึ่งนิยมนำไปใช้มากที่สุดคือการตรวจสอบ (Validation) form ของผู้ใช้ในหน้าเว็บ ซึ่งเป็นเว็บไซต์แบบที่มีการกรอกข้อมูล information จากผู้ใช้จำนวนมากในรูปแบบของ form online และ JavaScript  สามารถช่วยตรวจสอบข้อผิดพลาดในส่วนต่างๆได้ ซึ่งการตรวจสอบจะเป็นในลักษณะ Client-Side หรือ การทำงานจะเกิดขึ้นที่เครื่องที่เปิดใช้งานเว็บเบราเซอร์   เมื่อเราใช้เว็บเบราเซอร์เปิดไปเว็บเพจที่มีการกรอกข้อมูลใดๆ เช่น  เว็บเพจสำหรับสมัครสมาชิก  ผู้พัฒนาเว็บเพจนั้นได้เขียนโค้ด JavaScript  เพื่อตรวจสอบการกรอกข้อมูลไว้ในเว็บเพจนั้นแล้ว  เช่น ตรวจสอบรูปแบบการกรอกข้อมูล E-mail เป็นต้น    โค้ด JavaScript เหล่านั้น  จะถูกส่งมาให้เว็บเบราเซอร์ไปเปิดใช้งาน  เพื่อให้เว็บเบราเซอร์ทำหน้าที่ประมวลผลคำสั่งและตรวจสอบข้อมูลให้    เป็นการตรวจสอบที่เครื่องคอมพิวเตอร์ที่ติดต่อไปขอใช้บริการ  จึงเรียกว่าวิธีการ Client-Side  แบ่งได้ดังนี้
  1.Required Fields (การเช็คข้อมูลทั่วไป) โดยจะเช็คว่าผู้ใช้งานเว็บไซต์นั้นได้กรอกข้อมูลหรือไม่ เพราะถ้าผู้ใช้ยังไม่ได้กรอกข้อมูล ก็จะไม่สามารถกด ยืนยัน (Submit) ได้
     มี Syntax ดังนี้


function validateForm()
{
var x=document.forms["myForm"]["fname"].value;
if (x==null || x=="")
  {  alert("First name must be filled out");
  return false;  }
}

 

ตัวอย่างเช่น


<html><head>
<script>
function validateForm()
{
var x=document.forms["myForm"]["fname"].value;
if (x==null || x=="")
  {  alert("First name must be filled out");
  return false;  }
}

</script>
</head>
<body>
<form name="myForm" action="demo_form.asp" onsubmit="return validateForm()" method="post">
First name: <input type="text" name="fname">
<input type="submit" value="Submit">
</form>
</body></html>

 

ผลลัพธ์คือ

***จากตัวอย่างนี้เป็นตัวอย่างการตรวจสอบการกรอกข้อมูลชื่อ ซึ่ง javascript จะทำการตรวจสอบว่าผู้ใช้เว็บไซต์ได้กรอกจริงหรือไม่ ถ้าหากไม่ได้กรอกข้อมูลใดลงไปเลย ก็จะมีข้อความแจ้งเตือน (ตามรูปด้านล่าง) เพื่อเตือนให้ผู้ใช้ไม่ลืมกรอกข้อมูลชื่อ




2.E-mail Validation (การตรวจเช็คอีเมล) โดยจะเช็คว่าข้อมูลที่ผู้ใช้เว็บไซต์ได้กรอกอีเมลหรือไม่ หรือกรอกอีเมลผิดหรือไม่
   มี Syntax ดังนี้


function validateForm()
{
var x=document.forms["myForm"]["email"].value;
var atpos=x.indexOf("@");
var dotpos=x.lastIndexOf(".");
if (atpos<1 || dotpos<atpos+2 || dotpos+2>=x.length)
  {
  alert("Not a valid e-mail address");
  return false;  }
}

 

ตัวอย่างเช่น


<html><head>
<script>
function validateForm()
{
var x=document.forms["myForm"]["email"].value;
var atpos=x.indexOf("@");
var dotpos=x.lastIndexOf(".");
if (atpos<1 || dotpos<atpos+2 || dotpos+2>=x.length)
  {  alert("Not a valid e-mail address");
  return false;  }
}

</script>
</head>
<body>
<form name="myForm" action="demo_form.asp" onsubmit="return validateForm();" method="post">
Email: <input type="text" name="email">
<input type="submit" value="Submit">
</form>
</body></html>

 

ผลลัพธ์คือ

***จากตัวอย่างนี้เป็นตัวอย่างการตรวจสอบอีเมล โดยจะเช็คว่าผู้ใช้เว็บไซต์ได้กรอกอีเมลแล้วหรือยัง หรือกรอกอีเมลผิดหรือไม่ ถ้าหากไม่ได้กรอก หรือกรอกผิด ก็จะมีข้อความแจ้งเตือน (ตามรูปด้านล่าง) เพื่อเตือนให้ผู้ใช้ไม่ลืมกรอกข้อมูลอีเมล


คลิกเพื่อดู demo file javascript
(ตัวอย่างที่ 1)
คลิกเพื่อดู demo file javascript (ตัวอย่างที่ 2)

ข้อมูลอ้างอิง
http://www.w3schools.com

ชื่อ
javascript19
หมวดหมู่
Javascript, Javascript
ฮิต
7006
ผู้สร้างเอกสาร
opassaesin
วันที่สร้างเอกสาร
2016-06-03 13:43:17

javascript19.zip

ประเภทไฟล์ zip

ขนาดไฟล์ 1.14 KB

ผู้อัพโหลดไฟล์ opassaesin

วันที่อัพโหลด 2016-06-03 06:42:43


กระทู้ล่าสุดจากเว็บบอร์ด
หัวข้อกระทู้
ตอบ
เปิดดู
MOD_MTB_NEWS_RECENT
JFormHelper::loadFieldClass('list');
โดย Minanda จ 11 ธ.ค. 2017 10:42 am บอร์ด Joomla Development
3
22
จ 11 ธ.ค. 2017 10:42 am โดย Minanda
ช่วยด้วยครับ ติดตั้ง Component Joomshoping ThaiEdition ลงในจูลล่า 3.5 ไม่ได้อะครับ
โดย sdfza100 จ 11 ธ.ค. 2017 9:50 am บอร์ด Joomla Development
1
7
จ 11 ธ.ค. 2017 9:50 am โดย mindphp
ไม่สามารถเข้าถึงไฟล์ PHP ใน Directory
โดย บุคคลทั่วไป ส 09 ธ.ค. 2017 3:40 pm บอร์ด Joomla Development
4
47
ส 09 ธ.ค. 2017 3:40 pm โดย บุคคลทั่วไป
เผยเทคนิค ดี ๆ ที่สามารถทำให้บ้านและสวนร่มรื่นได้
โดย บุคคลทั่วไป ศ 08 ธ.ค. 2017 4:39 pm บอร์ด พูดคุยเรื่องทั่วไป จับฉ่าย
0
23
ศ 08 ธ.ค. 2017 4:39 pm โดย บุคคลทั่วไป
วิธีการติดตั้ง Selenium ลง Python บน Windows
โดย Panchalee พฤ 07 ธ.ค. 2017 6:20 pm บอร์ด Software testing
0
30
พฤ 07 ธ.ค. 2017 6:20 pm โดย Panchalee
แสดงวันที่ปัจจุบันใน Python
โดย Wallapa พฤ 07 ธ.ค. 2017 11:30 am บอร์ด Python Knowledge
0
28
พฤ 07 ธ.ค. 2017 11:30 am โดย Wallapa
เมื่อต้องซ่อมคอมพิวเตอร์
โดย Before Dong พฤ 07 ธ.ค. 2017 10:48 am บอร์ด พูดคุยเรื่องทั่วไป จับฉ่าย
1
38
พฤ 07 ธ.ค. 2017 10:48 am โดย mindphp
ขอวิธี Uninstall selenium web driver ใน python หน่อยค่ะ
โดย Panchalee พฤ 07 ธ.ค. 2017 10:48 am บอร์ด Programming - C/C++ & java & Python
3
38
พฤ 07 ธ.ค. 2017 10:48 am โดย Panchalee
แจกฟรี!! ปฏิทิน CRM ที่รวบรวมซอฟท์แวร CRM ยอดนิยมจากทั่วโลก ปี 2018/2561 พร้อมวันหยุด - โหลดก่อนได้ก่อนอย่ารอช้า!!
โดย Before Dong พ 06 ธ.ค. 2017 3:38 pm บอร์ด พูดคุยเรื่องทั่วไป จับฉ่าย
0
84
พ 06 ธ.ค. 2017 3:38 pm โดย Before Dong
สามารถลง Selenium ซ้ำกันในเครื่องเดียวกันได้มั้ยคะ หรือว่าต้อง Uninstall ออกก่อน
โดย Panchalee พ 06 ธ.ค. 2017 2:26 pm บอร์ด Programming - C/C++ & java & Python
1
47
พ 06 ธ.ค. 2017 2:26 pm โดย nuattawoot
แค่ใส่ CSS ชีวิตก็เปลี่ยน
โดย Before Dong พ 06 ธ.ค. 2017 10:31 am บอร์ด พูดคุยเรื่องทั่วไป จับฉ่าย
1
62
พ 06 ธ.ค. 2017 10:31 am โดย mindphp
วิธี คำสั่ง เครียพื้นที่ Swap ในลีนุ๊ค
โดย mindphp อ 05 ธ.ค. 2017 4:04 pm บอร์ด Linux - Web Server
0
28
อ 05 ธ.ค. 2017 4:04 pm โดย mindphp
รถไฟฟ้า.zip - ภาพล้อ โปรแกรมคอมพิวเตอร์
โดย Before Dong อ 05 ธ.ค. 2017 9:20 am บอร์ด พูดคุยเรื่องทั่วไป จับฉ่าย
2
180
อ 05 ธ.ค. 2017 9:20 am โดย mindphp
เรียนรู้ kotlin เบื้องต้น
โดย chavikat.p จ 04 ธ.ค. 2017 5:24 pm บอร์ด Mobile Application Developing- Android, iOS
0
37
จ 04 ธ.ค. 2017 5:24 pm โดย chavikat.p
การทำ Button Groups โดยใช้ bootstap
โดย chavikat.p จ 04 ธ.ค. 2017 3:49 pm บอร์ด Booststap Knowledge
0
39
จ 04 ธ.ค. 2017 3:49 pm โดย chavikat.p
การทำ Collapse โดยใช้ bootstap
โดย chavikat.p จ 04 ธ.ค. 2017 3:43 pm บอร์ด Booststap Knowledge
0
30
จ 04 ธ.ค. 2017 3:43 pm โดย chavikat.p
ตัวอย่าง Error เกี่ยวกับ session บน Host ที่ สำหรับเขียนพื้นที่
โดย mindphp จ 04 ธ.ค. 2017 11:34 am บอร์ด Programming - PHP
1
37
จ 04 ธ.ค. 2017 11:34 am โดย mindphp
รวมงานประจำปี 2560
โดย chavikat.p จ 04 ธ.ค. 2017 10:54 am บอร์ด M053 - ชาวิกา แตงศรี
0
6
จ 04 ธ.ค. 2017 10:54 am โดย chavikat.p
รวมบทความประจำปี 2560
โดย chavikat.p จ 04 ธ.ค. 2017 10:53 am บอร์ด M053 - ชาวิกา แตงศรี
0
2
จ 04 ธ.ค. 2017 10:53 am โดย chavikat.p
Note
โดย chavikat.p จ 04 ธ.ค. 2017 10:53 am บอร์ด M053 - ชาวิกา แตงศรี
0
5
จ 04 ธ.ค. 2017 10:53 am โดย chavikat.p