하지만 이 javascript를 사용한다는 것은 여간 깐깐하게 아니다... 왜냐하면 마땅한 툴도 없기 때문이다.
그 중에서 라디오 버튼에 대해서 알아볼 것인데.. 작업을 하다보면 흔히들 라디오버튼의 체크 여부를 검증하던가..
체크된 값을 가져오던가 하는 등의 작업을 많이 하는데...
그에 관련된 내용을 스크랩하였으니 참고하여 보자.
스크랩을 한 이유는 아래의 내용중에서 undefined 라고 띄어지는 경우를 다양한 케이스에서 볼 수 있다.
아래의 경우는 라디오버튼의 갯수를 체크하던 중 생긴 오류 아닌 오류인데...
그냥 문자열로 undefined 로 비교를 하여도 되기는 하나.. 안되는 경우도 많이 있기 때문에...
typeof 라는 키워드를 사용함으로써 명확하게 undefined 라는 형식을 캐취할 수 있다.
나머지 내용은 흔히들 하는 것이기 때문에 특별한 사항은 없으니 그냥 라디오 버튼의 활용이라고 생각하면서 보도록 하자.
================================================================================================
설문의 문항이 0번부터 시작(name이 Ans0)한다면 다음과 같이 처리합니다.
function 설문하기함수() { //설문하기 버튼을 누른 경우
for (var i=0; i<문제수; i++) { //문제수만큼 반복
if (!check(i)) { //check함수를 호출하여 설문의 답이 선택되지 않은 경우이면
return false;
}
}
return true; //return 혹은 다음 프로세스 진행로직을 추가
}
function check(idx) { //설문문항의 번호를 받아서 답이 없으면 false를 return
var tmp=eval("sulmoon.Ans"+idx);
if (tmp) {
if (typeof(tmp.length)=="undefined") { //선택가능한 설문답변이 한개인 경우
if (!tmp.checked) { //선택되지 않은 경우 false를 return
alert("글을 선택하세요");
return false;
} else {
return true; //답변이 선택된 경우 true를 return
}
} else { //선택가능한 설문답변이 여러개인 경우
for (var i=0; i<tmp.length; i++) {
if (tmp[i].checked) { //선택된 답변이 있으면 true를 return
return true;
}
}
alert("글을 선택하세요"); //선택된 답변이 없으면 false를 return
return false;
}
} else { //eval("sulmoon.Ans"+idx)가 존재하지 않는 경우
alert("해당 설문문항이 존재하지 않습니다");
return false;
}
}
[출처] http://kin.naver.com/qna/detail.nhn?d1id=1&dirId=1040202&docId=69750489&qb=amF2YXNjcmlwdCDrnbzrlJTsmKTrsoTtirwgdW5kZWZpbmVk&enc=utf8§ion=kin&rank=1&sort=0&spq=0&pid=fyJOrsoi5URssbeShJosss--474223&sid=Sy7CkdysLksAAHO4D3s