자바스크립트에서 모든 항목을 입력받으려면 대개는
체크박스, 라디오박스, 텍스트박스 등을 하나씩 체크해서
alert 박스를 띄워주는데
많은 질문이 있는 설문조사 같은경우 엄두가 안나서 ^^;
무조건 form 안의 내용들을 입력을 하게끔 하려면
어떻게 해야 할까요?
아시는 분들 답변 좀 바랍니다. ㅠㅠ
form객체의 elements컬렉션을 이용하여 루프를 돌려 확인하시면 됩니다.
답변수정합니다. 예제를 만들어 확인했습니다.
<html> <script type="text/javascript"> function elements확인함수() { var k=0; var flag=false; var arr=new Array(); for (var i=0; i<form.elements.length; i++) { if (form.elements[i].type=="text") { if (form.elements[i].value=="") { alert(form.elements[i].name+"의 값이 비었습니다."); form.elements[i].select(); return false; } } else if (form.elements[i].type=="checkbox") { if (!form.elements[i].checked) { alert(form.elements[i].name+"이 선택되지 않았습니다."); form.elements[i].focus(); return false; } } else if (form.elements[i].type=="radio") { for (var j=0; j if (arr[j]==form.elements[i].name) { continue; } } if (eval("form."+form.elements[i].name).length=="undefined") { if (!form.elements[i].checked) { alert(form.elements[i].name+"이 선택되지 않았습니다."); form.elements[i].focus(); return false; } } else { flag=false; for (var j=0; j if (eval("form."+form.elements[i].name)[j].checked) { flag=true; break; } } if (!flag) { alert(form.elements[i].name+"이 선택되지 않았습니다."); form.elements[i].focus(); return false; } } arr[k++]=form.elements[i].name; } } alert("모든 항목이 입력되었습니다."); return true; } </script> <body> <form name=form>