====== form submit 전 input value 체크 ======
* description : 페이지 설명 업데이트 필요
* author : 도봉산핵주먹
* email : hylee@repia.com
* regdate : 2020-01-28
* lastupdate : 2020-01-31
----
Jquery를 사용해 form submit() 하기전에 input에 value가 있는지 체크
- 주석으로 설명을 대신하겠습니다.
- 회원가입이나 게시글 insert 할때 사용하면 유용할것 같습니다.
- (응용)form이 submit() 이 아니더라도 특정 태그 안에 input이나 checkbox를 체크할때도 좋을것같습니다.
- 실제 코***** REKMS에 적용한 소스입니다.
- 맨 아래 이미지를 참고하여 보시면 좋을 것 같습니다.
//ID가 checkValue_insert 라는 버튼을 클릭 했을 때 이벤트 발생
$('#checkValue_insert').click(function(){
var result = txtFieldCheck() == true ? true : false;
// txtFieldCheck() 가 true일때
if(result)
{
// id가 insert_frm 인 form에 submit() 할 action(속성) 주소를 입력한다.
// 밑에 처럼 할경우 버튼 클릭 이벤트가 다를때마다 action을 다르게 입력해서 활용할 수 있다.
// (응용) 등록, 수정 action을 따로 입력 할 수 있다.
$("#insert_frm").attr("action", "/REKMS/site/siteListInsert.do");
$("#insert_frm").submit();
}
});
function txtFieldCheck(){
// form안의 모든 input text type 조회
var txtEle = $("#insert_frm input[type=text]");
// form 안에 input text type 만큰 for문을 돈다.
for(var i = 0; i < txtEle.length; i ++){
// input 순서대로 value 체크를 한다.
if("" == $(txtEle[i]).val() || null == $(txtEle[i]).val()){
//value 값이 없는 input id를 가져온다.
var ele_id = $(txtEle[i]).attr("id");
//그 id의 label 정보를 가져온다.
var label_txt = $("label[for='" + ele_id +"']").text();
showAlert(ele_id, label_txt);
return false;
}
}
//for문에서 input value가 null이 아니면 true를 return한다.
return true;
}
function showAlert(ele_id, label_txt){
//label 정보를 가져와 "라벨정보"+을 입력해 주세요를 alert 띄운다.
alert(label_txt + "을 입력해 주세요.");
//value가 없는 해당 input에 커서를 갓다놔 둔다.
$("#" + ele_id).focus();
}
----
==== Ref ====
*
{{tag>도봉산핵주먹}}