ในภาษา Javascript ไม่มี function ที่ทำหน้าที่รับตัวแปรจาก URL ดังนันจึงต้องใช้วิธีตัด string ทั้งหมด 3 ครั้ง
- แยกส่วนตัวแปรออกมา (หลังเครื่องหมาย ?)
- แยกตัวแปรออกเป็นชุดๆ (คั่นโดย &)
- แยกตัวแปรและค่าออกจากกัน (คั่นโดย =)
1 2 3 4 5 6 7 8 9 10 11 | function getURIParams(uri) { var params = [], hash; var hashes = uri.slice(uri.indexOf( '?' ) + 1).split( '&' ); for ( var a = 0; a < hashes.length; a++) { hash = hashes[a].split( '=' ); params[hash[0]] = hash[1]; } return params; } |
ตัวอย่างวิธีใช้
1 2 3 4 5 6 7 8 | uri = document.location params = getURIParams(uri); msg = '' ; for (index in params) { msg = msg+ 'n' +index+ '=' +params[index]; } alert(msg); |
ตอน test อย่าลืมใส่ตัวแปรใน url ต่อท้ายด้วย เช่น
test.html?one=1&two=2
ก่อน refresh