Frontend/Javascript

alert창 나타나게 하는법

새벽물망초 2022. 3. 24. 16:02

 

<script src="/resources/js/my.js"></script>

js코드를 모아놓은 파일을 만들고 jsp 파일 맨 위에 script 태그 생성한 후 경로지정

 

 

<insert.jsp> 코드 전문

<form enctype="multipart/form-data" id="id_writeform" method="post" action="/board/insert" class="user" name="writefrm"> 
    
    <div class="form-group row">
		<div class="col-sm-6 mb-3 mb-sm-0">
			<label>제목</label>
			<input type="text" id="id_subject" class="form-control" name="b_subject">
		</div>
	</div>
    
	<div class="form-group row">
		<div class="col-sm-6 mb-3 mb-sm-0">
			<label>이름</label>
			<input type="text" id="id_subject" class="form-control" name="b_subject">
		</div>
	</div>
    
	<div class="form-group row">
		<div class="col-sm-6 mb-3 mb-sm-0">
			<label>내용</label>
			<input type="text" id="id_subject" class="form-control" name="b_subject">
		</div>
	</div>
    
	<div class="form-group row">
		<div class="col-sm-6 mb-3 mb-sm-0">
			<label>파일</label>
			<input type="file" class="form-control" name="b_file">
		 </div>
	</div>
    
	<input type="button" id="id_btn" class="form-control" value="등록" onclick="writeForm();">
    
</form>

 

<my.js> javascript 코드 전문

	function writeForm() { 
		let thisform = document.writefrm; 
		//thisform.method = "post"; // form태그 내에 method 지정해줘서 주석처리함
		//thisform.action = "/board/insert"; // form태그 내에 action 지정해줘서 주석처리함
		let id_subject = document.getElementById('id_subject').value; // 텍스트상자의 값
		if (id_subject == '') {
			alert('제목을 입력하세요');
		} else {
			thisform.submit(); // form 전송
		}
	};

 


 

1] 글 등록시, 제목을 입력하지 않고 등록을 클릭하면 alert창이 나타나게 하려고 한다

function writeForm() { 
		let thisform = document.writefrm; 
		let id_subject = document.getElementById('id_subject').value; 
		if (id_subject == '') {
			alert('제목을 입력하세요');
		} else {
			thisform.submit();
		}
	};

 

function writeForm() : writeForm() 이라는 함수를 생성한다, 즉 함수의 이름임

let thisform = document.writefrm; :

insert.jsp의 form에 writefrm이라는 name을 줬었다, javascript에서 writefrm으로 접근

let id_subject = document.getElementById('id_subject').value; :

insert.jsp의 form내에 제목의 input태그에 id_subject 라는 id을 줬었다, id_subject의 값을 가져오겠다는 뜻

if (id_subject == '') { // 1. id_subject가 빈값이라면
alert('제목을 입력하세요'); // 2. 제목을 입력하세요 이라는 경고창이 뜨고
} else { // 3. 그렇지 않으면(= id_subject가 값이 있다면)
thisform.submit(); } // 4. form을 전송한다(이 때문에 form에 method action이 지정되어야 함, 무슨 방법으로 어디로 전송할건지 명시해주어야 하므로)

2] 글 등록 시, 글이 등록되었습니다 alert창 나타나게 하려고 한다

function writeForm() { 
		let thisform = document.writefrm; 
		let id_subject = document.getElementById('id_subject').value; 
		if (id_subject == '') {
			alert('제목을 입력하세요');
		} else {
			thisform.submit();
          		alert("글이 등록되었습니다"); // 추가
		}
	};

 

3] 형식에 맞는 함수 실행방법

// button 눌러서 js실행
<input type="button" id="id_btn" class="form-control" value="등록" onclick="writeForm();">

// a태그 눌러서 js실행하기
<a href="javascript:writeForm2();">글쓰기</a>

전자는 onclick 에 함수를 걸어주고, 후자는 a태그에 다음과 같은 형식으로 함수를 걸어준다