잡동사니에도 사랑을

[21.09.14] exam26(JavaScript) 본문

JAVA_EE/JavaScript

[21.09.14] exam26(JavaScript)

luvforjunk 2021. 9. 14. 18:23
728x90
반응형

<!DOCTYPE html>

<html>

<head>

<meta charset="UTF-8">

<title>Insert title here</title>

<script type="text/javascript">

        function doSubmit(){

               /*if(document.form1.user_name.value==""){

                       alert("이름을 입력하세요");

               }*/

              

               if(!document.form1.user_name.value){

                       alert("이름을 입력하세요");

                       document.form1.user_name.focus();

                       return false;

               }

              

               if(!document.form1.gender[0].checked && !document.form1.gender[1].checked){

                       alert("성별을 선택하세요");

                       document.form1.gender[0].focus();

                       return false;

               }

              

               if(document.form1.job.selectedIndex < 1){

                       alert("직업을 선택하세요");

                       document.form1.job.focus();

                       return false;

               }

              

               var chk = false;

               for(var i=0; i<document.form1.hobby.length; i++) {//length : 개수

                       if(document.form1.hobby[i].checked){

                              chk = true;

                              break; //for문을 벗어나라

                             

                       }

               }//for

               if(!chk){

                       alert("취미를 선택하세요");

                       document.form1.hobby[0].focus();

                       return false;

               }

              

               // 입력된 내용 확인

               if(confirm("입력한 내용이 맞습니까?"))

                       return false;

               //document.form1.submit(); - 입력한 내용 확인 action 타고 페이지 이동

        }

</script>

</head>

<body>

<!--

<form name="form1" onsubmit="doSubmit(); return false;">

 

-->

<form name="form1" onsubmit="doSubmit(); return false;" action="http://www.naver.com">

        <fieldset>

               <!-- <legend> 태그는 <fieldset> 요소의 캡션(caption) 정의할 사용 -->

               <legend>회원가입</legend>

              

               <label>이름<input type="text" name="user_name" /></label>

               <br/>

               <label>성별</label>

               <label><input type="radio" name="gender" value="M">남자</label>

               <label><input type="radio" name="gender" value="F">여자</label>

               <br/>

               <label>직업</label>

               <select name="job">

                       <option>----- 선택하세요 -----</option>

                       <option value="dev">프로그래머</option>

                       <option value="pub">퍼블리셔</option>

               </select>

               <br/>

               <label>취미</label>

               <label><input type="checkbox" name="hobby" value="축구">축구</label>

               <label><input type="checkbox" name="hobby" value="농구">농구</label>

               <label><input type="checkbox" name="hobby" value="야구">야구</label>

               <br/>

               <label>&nbsp;</label>

               <input type="submit" name="button" value="제출"/>

               <input type="button" name="button" value="리셋"/>    

</fieldset>

</form>

</body>

</html>

 

<!--

 onsubmit="doSubmit(); return false;"

  함수를 타고 간다음 화면을 이동하지 말고 멈춰라

 action 타지 않는다

 

 <form action="주소, URL, 페이지 이동">

        <input type="submit" 반드시 서브밋은 액션을 타고간다. 하지만 버튼은 그렇지 않다

 </form>

 

 .value => 값이 들어왔는지 안들어왔는지

 

 <label><input type="radio" name="gender" value="M" checked>남자</label>

 => 남자의 값이 기본값으로 항상 체크 되어 있음

 

 checked 써주면 유효성 검사를 안해줘도 된다

 

 radio버튼은 그룹단위로 묶이기 때문에 배열로 취급한다

 

 .focus(); => 커서 깜빡깜빡

 -->

 

전부 입력/선택 시 확인창이 뜸

728x90
반응형