2015년 4월 24일 금요일

PHP : Select Multiple HTML tag에서 Data가져오기

How do I get all the results from a select multiple HTML tag?

:다중 선택 (select multiple) HTML 태그에서 어떻게 모든값을 가져올수 있습니까? 
(HTML 4.x이상, Javascript 1.x이상, PHP 4.x 이상 의 경우)



:다중 선택 (select multiple)태그는 리스트 중에서 여러 아이템을 선택할수있게 합니다.
이 아이템들은 폼의 액션 핸들러로 보내집니다. 문제는 그들이 같은 위젯(widget)명으로 전달이 된다는 것입니다.


<select name="var" multiple>
선택된 각 옵션(option)값은 액션 핸들러에 다음처럼 도착합니다:

var=option1
var=option2
var=option3
각 옵션은 $var변수의 이전 값을 덮어쓸것입니다.
해결방법은 PHP의 "폼 엘리먼트의 배열" 특성을 이용하는 것입니다. 다음처럼 사용합니다.


<select name="var[]" multiple>

이것은 PHP가 $var변수를 배열로 취급하고 배열의 각 아이템이 var[]로 지정되도록 합니다. 첫번째 아이템은 $var[0] 다음은 $var[1], 등등이 됩니다. count()함수로 몇개의 옵션이 선택되었는지 알수 있습니다. 필요하다면 sort()함수로 옵션 배열을 정렬할수도 있을것입니다.

자바스크립트에서 각 엘리먼트에[]을 사용하는것은 문제가 발생한다는것을 명심해야 합니다. 대신에 숫자 폼의 ID를 사용하기 바랍니다. 또는 작은 따옴표로 변수명을 싸주십시오 그리고 엘리먼트 배열의 인덱스로 사용합니다. 예를 들면 다음과 같습니다.

variable = documents.forms[0].elements['var[]'];

댓글 없음:

댓글 쓰기