IT/development

[JavaScript] submit control(feat. onsubmit)

์•Œ ์ˆ˜ ์—†๋Š” ์‚ฌ์šฉ์ž 2022. 11. 22.

๋ชฉ์ฐจ

    JavaScript onsubmit ๐Ÿ˜„

    ๋ฏธ๋ž˜์˜ ๋‚ด๊ฐ€ ๋ณด๊ธฐ ์œ„ํ•ด ์ž‘์„ฑ

    ํ™”๋ฉด์—์„œ submit์„ ์ปจํŠธ๋กค ํ•ด์•ผ ํ•  ๊ฒฝ์šฐ๊ฐ€ ์žˆ๋‹ค.

    ์˜ˆ๋ฅผ ๋“ค๋ฉด ์ž…๋ ฅ๊ฐ’์„ ์ž…๋ ฅ ์•ˆํ•˜๋ฉด ๋ชป ๋„˜์–ด๊ฐ€๊ฒŒ ํ•œ๋‹ค๊ฑฐ๋‚˜..

    ์—ฌ๋Ÿฌ ๋ฐฉ๋ฒ•์ด ์žˆ๊ฒ ์ง€๋งŒ form์— onsubmit ์˜ต์…˜์„ ์ฃผ๊ณ  ํ•จ์ˆ˜๋ฅผ ์ง€์ •ํ•ด ์ฃผ๋ฉด submit ์‹œ ๋ฌด์กฐ๊ฑด ํ•ด๋‹น ํ•จ์ˆ˜๋ฅผ ํ˜ธ์ถœํ•˜๊ณ  submitํ•˜๊ฒŒ ๋œ๋‹ค.

    ๊ทธ๋ฆฌ๊ณ  return functionName(); ์„ ์ฃผ๊ฒŒ ๋˜๋ฉด ํ•ด๋‹น ํ•จ์ˆ˜์˜ return๊ฐ’์ด false์ธ ๊ฒฝ์šฐ submit์ด ์•ˆ๋œ๋‹ค.

    ๊ทธ๋ž˜์„œ ์•„๋ž˜ ์˜ˆ์‹œ์ฒ˜๋Ÿผ ์กฐ๊ฑด์— ๋”ฐ๋ผ submit์„ ํ•˜๊ฑฐ๋‚˜ ๋ง‰์„ ์ˆ˜ ์žˆ๋‹ค.

    ์•„๋ž˜ ์˜ˆ์‹œ๋Š” ์ œ๋ชฉ์„ ์ž…๋ ฅ ์•ˆํ•  ๊ฒฝ์šฐ submit์ด ์•ˆ๋œ๋‹ค.(๋„ˆ๋ฌด ๋‹จ์ˆœํ•œ ์œ ํšจ์„ฑ ์ฒดํฌ์ด์ง€๋งŒ..)

     

    ์˜ˆ์‹œ ์ฝ”๋“œ

    <!DOCTYPE html>
    <html lang="en">
    <head>
    	<meta charset="UTF-8">
    	<meta name="viewport" content="width=device-width, initial-scale=1.0">
    	<title>onsubmit test</title>
    	<script src="http://code.jquery.com/jquery-latest.min.js"></script>
    </head>
    <body>
    	<form action="board/new" method="post" onsubmit="return check();">
    		<div class="form-group">
                <label for="title"></label>
                ์ œ๋ชฉ: <input id="title" type="text" name="title"> <br>
                ๋‚ด์šฉ: <input id="contents" type="text" name="contents"> <br>
                ์ž‘์„ฑ์ž: <input id="writer" type="text" name="writer"> <br>
            </div>
            <button type="submit">์ „์†ก</button>
    	</form>
    <script>
    $(document).ready(function() {
    	
    });
    
    function check() {
    	let title = $("#title").val();
    	if(title === "" || title === undefiend || title === " ") {
    		alert("์ œ๋ชฉ์€ ํ•„์ˆ˜๊ฐ’์ž…๋‹ˆ๋‹ค. ์ž…๋ ฅ ์•ˆํ•˜๋ฉด ๋„˜์–ด๊ฐˆ ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค.");
    		return false;
    	} 
    }
    </script>
    </body>
    </html>

     

    ์ด๋ฅผ ์ด์šฉํ•ด์„œ ๋‹ค์–‘ํ•˜๊ฒŒ ์‘์šฉ์ด ๊ฐ€๋Šฅํ•˜๋‹ค.

    ๋Œ“๊ธ€