본문 바로가기

IT

[javascript] jquery form elements 를 get 문자열로, array 로 바꾸기!

웹페이지 작업하다 보면 가끔 form 안에 내용을 전부다 ajax로 보내야 할때가 있지 않나요? ㅎㅎ

저만 그런가 ㅎㅎ ^^;;

이런경우 jquery  에서 제공하는 엄청난 함수가 있답니다.

저도 간혹 쓰긴 하는데 최근에 안써서 깜빡하고 있다가 다시 최근에 사용해봤답니다.

바로 그 함수는 serialize() 함수와 serializeArray() 함수 2개가 있답니다.

저는 사실 대부분 serialize()를 많이 애용하게 되네요 ㅎㅎ

ajax로 데이터 보낼때 대부분 검색 데이터라 get방식으로 보낼때는 serialize()가 더 편하더라구요 (절대로 편애 하는거 아님 )

특히 한글의 경우 자동으로 encodeing 기능이 있어서 javascript 에서 사용하는 encodeURI기능이 필요가 없답니다!! ㅎㅎ

 

 

 

자세한 내용은 jquery.com 사이트에 가셔서 확인하실수 있어요

 

 

 

 

 

jquery serialize() : http://api.jquery.com/serialize/

jquery serializeArray() : http://api.jquery.com/serializeArray/

 

jquery serialize() sample

 <!doctype html>
<html lang="en">
<head>
  <title>serialize demo</title>
  <script src="https://code.jquery.com/jquery-1.10.2.js"></script>
  <script>
  function showValues() {
    var str = $( "form" ).serialize();
 alert(str);
  }
</script>
</head>

<body>

<form>
  <select name="single" onchange="showValues()">
    <option>솔로</option>
    <option>솔로아님</option>
  </select>

  <select name="single2" onchange="showValues()">
    <option>solo</option>
    <option>marry</option>
  </select>
</form>


</body>
</html>

 

 

jquery form elements 를 get 문자열로, array 로 바꾸기!