สำหรับตัวอย่างฟังก์ชั่นต่อไปนี้ เป้นแนวทางการสร้างฟังก์ชั่น สำหรับใช้ในการ
ตรวจสอบตัวแปร GET ที่ส่งมากับ url ด้วย javascript ใช้สำหรับ บางกรณี
ที่เราไม่ต้องการใช้ PHP ในการตรวจสอบ หรือไม่สามารถใช้ PHP ตรวจสอบได้เพราะอยู่ในไฟล์ javascript
ฟังก์ชั่นนี้จึงสามารถนำมาใช้แทนได้
ตัวอย่างโค้ด และฟังก์ชั่น
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Document</title> </head> <body> <br> <br> <div class="container" style="width:300px;margin:auto;"> </div> <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.8.3/jquery.min.js"></script> <script type="text/javascript"> $(function(){ var _get = function(val){ var result = null; // กำหนดค่าเริ่มต้นผลลัพธ์ tmp = []; // กำหนดตัวแปรเก็บค่า เป็น array // เก็บค่า url โดยตัด ? อันแรกออก แล้วแยกโดยตัวแบ่ง & var items = location.search.substr(1).split("&"); for(var index = 0; index < items.length; index++) { // วนลูป tmp = items[index].split("="); // แยกระหว่างชื่อตัวแปร และค่าของตัวแปร // ถ้าค่าที่ส่งมาตรวจสอบชื่อตัวแปรตรง ให้เก็บค่าผลัพธ์เป็นค่าของตัวแปรนั้นๆ if(tmp[0] === val) result = decodeURIComponent(tmp[1]); } return result; // คืนค่าของตัวแปรต้องการ ถ้าไม่มีจะเป็น null } console.log(_get('code')); // ได้ค่า null console.log(_get('a')); // ได้ค่าของตัวแปร a console.log(_get('b')); // ได้ค่าของตัวปร b if(_get('a') && _get('b')){ // ใช้ตรวจสอบ ถ้ามีการส่งค่าของตัวแปร a และ b console.log("OK"); } if(_get('a') || _get('b')){ // ใช้ตรวจสอบ ถ้ามีการส่งค่าของตัวแปร a หรือ b console.log("OK"); } }); </script>
ตัวอย่างสมมติ ประกอบการอธิบาย
สมมติว่า url ของเราคือ www.ninenik.com/test.php?a=1&b=2
ปกติถ้าเราต้องการตรวจสอบด้วย PHP ว่ามีการส่งค่าตัวแปร GET มาหรือไม่
ก็จะใช้เป็น
<?php if(isset($_GET['a']) && $_GET['a']!=""){ // ตัวแปร a แบบ GET } if(isset($_GET['b']) && $_GET['b']!=""){// ตัวแปร b แบบ GET } if(isset($_GET['a']) && $_GET['a']!="" && isset($_GET['b']) && $_GET['b']!=""){// ตัวแปร a และ b แบบ GET } if((isset($_GET['a']) && $_GET['a']!="") || (isset($_GET['b']) && $_GET['b']!="")){// ตัวแปร a หรือ b แบบ GET }
แต่สมมติว่า เราต้องใช้คำสั่งการตรวจสอบในในไฟล์ javascript เราก็จะใช้ฟังก์ชั่นข้างต้นแทน
รูปแบบคือ
_get('ชื่อตัวแปรที่ต้องการ')
ตัวอย่าง url www.ninenik.com/test.php?a=1&b=2
_get('a') // จะได้ค่าของตัวแปร a เท่ากับ 1 _get('b') // จะได้ค่าของตัวแปร a เท่ากับ 2 _get('code') // จะได้ค่า null เพราะไม่มีตัวแปรนี้
ตัวอย่างการใช้ในการตรวจสอบ
if(_get('a') && _get('b')){ // ใช้ตรวจสอบ ถ้ามีการส่งค่าของตัวแปร a และ b console.log("OK"); } if(_get('a') || _get('b')){ // ใช้ตรวจสอบ ถ้ามีการส่งค่าของตัวแปร a หรือ b console.log("OK"); }
เท่านี้เราก็สามารถนำไปประยุกต์เพิ่มเติมได้