티스토리 뷰


Preview
기  능 : GET 방식 DATA 이용하기
주황색 : 사용자 정의
파란색 : 함수
녹   색 : 프로퍼티

Source_1
var locationHref = location.href;  //주소입력라인의 Data를 가져온다
var sectionGet = locationHref.indexOf( "?" );  // '?' 문자의 위치를 파악
var dataGet = locationHref.substring( sectionGet+1 );  // '?' 문자 우측에 위치한 문자열을 가져온다.
var dataList = dataGet.split( "&" );  //'&' 문자를 구분자로하여 dataList에 배열로 저장한다.
var dataList_length = dataList.length;  //배열 개수 파악

var data = new Array();  //배열 인덱스를 통한 값을 저장하기 위한 배열

//배열 개수만큼 반복하여 배열의 인덱스를 정의
for( i=0; i<dataList_length; i++ )
{
   var data2 = dataList[i].split( "=" );  //dataList 각 배열의 값을 '=' 문자로 배열로 저장한다.
   data[ data2[0] ] = data2[1];  //data 배열의 인덱스는 data2[0]로 설정하고 값은 data2[1]로 저장
}

Example
Current location.href = http://gafani.tistory.com/admin/entry/post?gafani1=1&gafani2=2 이라면
locationHref = http://gafani.tistory.com/admin/entry/post?gafani1=1&gafani2=2 
sectionGet = 42
dataGet = gafani1=1&gafani2=2
dataList[0] = gafani1=1
dataList[1] = gafani2 = 2
dataList_length = 2

for count = 1
  data2[0] = gafani1
  data2[1] = 1
  data[gafani1] = 1

for count = 2
  data2[0] = gafani2
  data2[1] = 2
  data[gafani2] = 2

Case
가끔 PHP를 통한 변수값을 전달할때 자바스크립트에서 써야 할때가 있다.
AJAX를 아직 잘 몰라서 페이지 전환이 된후 select 값이 이전때 위치와 동일할때 이게 필요했었다.
Page1에서 selectbox를 선택하면 submit()이 Page1에서 다시한번 처리되는데, selectbox값을 그대로 유지시키고
싶었을때 위의 소스로 처리를 하였다.