แนวทางฟังก์ชั่น การตรวจสอบตัวแปร GET ที่มากับ url ด้วย javascript

เขียนเมื่อ 7 ปีก่อน โดย Ninenik Narkdee
ตัวแปร javascript get

คำสั่ง การ กำหนด รูปแบบ ตัวอย่าง เทคนิค ลูกเล่น การประยุกต์ การใช้งาน เกี่ยวกับ ตัวแปร javascript get

ดูแล้ว 9,046 ครั้ง


สำหรับตัวอย่างฟังก์ชั่นต่อไปนี้ เป้นแนวทางการสร้างฟังก์ชั่น สำหรับใช้ในการ
ตรวจสอบตัวแปร 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");	
}
 
เท่านี้เราก็สามารถนำไปประยุกต์เพิ่มเติมได้


กด Like หรือ Share เป็นกำลังใจ ให้มีบทความใหม่ๆ เรื่อยๆ น่ะครับ











URL สำหรับอ้างอิง





คำแนะนำ และการใช้งาน

สมาชิก กรุณา ล็อกอินเข้าระบบ เพื่อตั้งคำถามใหม่ หรือ ตอบคำถาม สมาชิกใหม่ สมัครสมาชิกได้ที่ สมัครสมาชิก


  • ถาม-ตอบ กรุณา ล็อกอินเข้าระบบ
  • เปลี่ยน


    ( หรือ เข้าใช้งานผ่าน Social Login )







เว็บไซต์ของเราให้บริการเนื้อหาบทความสำหรับนักพัฒนา โดยพึ่งพารายได้เล็กน้อยจากการแสดงโฆษณา โปรดสนับสนุนเว็บไซต์ของเราด้วยการปิดการใช้งานตัวปิดกั้นโฆษณา (Disable Ads Blocker) ขอบคุณครับ