자율 학습/학습

[JavaScript] 등록 페이지 필터 - 사진 첨부 안 했을 때, div에 focus 주는 방법

60cod 2022. 9. 16. 15:23
	$("#insertBtn").on("click", function() {
		if($.trim($("#recipeTit").val()) == "") {
			$("#sNotice").show();
			$("#recipeTit").focus();
		} else if($("#material").children().children("input").val() == "") {
			$("#mNotice").show();
			$("#material").children().children("input").first().focus();
		} else if($(".main_img_wrap").children("img").length == "") {
			$("#miNotice").show();
			$(".main_img").attr("tabindex", -1).focus();
		} else if($(".detail_img_wrap").children("img").length == "") { 
			$("#diNotice").show();
			$(".detail_img").first().attr("tabindex", -1).focus();
		} else if($("#con").val() == "") {
			$("#cNotice").show();
			$("#con").focus();
		} else{
			var form = $("#actionForm");
			form.ajaxForm({

 

1. 사진 첨부를 했는지 안 했는지 아는 방법

= 이미지의 개수 따지기

이미지 개수가 없으면 첨부 안 한 것이다.

이미지의 개수 : $("img").length

else if($(".detail_img_wrap").children("img").length == "") { 
	$("#diNotice").show(); //경고 메시지
	$(".detail_img").first().attr("tabindex", -1).focus(); //포커스
}

 

 

2. div 태그에도 focus를 주고 싶을 때

focus는 대표적으로 input, select, button, a 태그에만 걸 수 있다. 

div에 focus를 주고 싶을 때는 tabindex를 이용한다.

관련 글 -> https://60cod.tistory.com/287

 

방법1) 

게시글 등록 버튼을 눌렀을 때 해당 요소의 tabindex를 -1로 만들고 포커스 한다.

$(".main_img").attr("tabindex", -1).focus();

 

방법2)

해당 요소의 tabindex를 0으로 정해주고

게시글 등록 버튼을 눌렀을 때 해당 요소를 포커스 한다.

<div class="main_img" tabindex="0">
	<div class="add_m_img"></div>
</div>
$(".main_img").focus();