데이터가 DB로 넘어갈때 이벤트 실행하는게 이렇게 한는게 맞나요?

데이터가 DB로 넘어갈때 이벤트 실행하는게 이렇게 한는게 맞나요?

QA

데이터가 DB로 넘어갈때 이벤트 실행하는게 이렇게 한는게 맞나요?

본문

form.php 전체 소스 입니다
이 페이지에서 상담신청 버튼을 눌러서 input항목을 입력하지 않고 버튼을 눌르면 db가 전송이 안되기 때문에 이때는 스크립트가 실행이 안되고 항목을 다 채우고 버튼클릭시 정상적으로 db로 데이터가 넘어갈때 스크립트가 실행되게 하고 싶습니다.

<form enctype="multipart/form-data" id="form" name="form" method="post" onsubmit="return form_Check();" action="<?php echo G5_URL.'/0/form_send.php';?>">
<input type="hidden" name="mode" value="send">
<input type="hidden" name="wr_subject" value="신청">

<div id="mct_07">
<div class="ref">
<ul>
<li><p>제품</p></li>
<li>
<select class="select" id="wr_3" name="wr_3" required>
<option value="">선택해 주세요</option>
<option value="책상">책상</option>
<option value="의자">의자</option>
</select>
</li>
</ul>
</div>
<div class="ref">
<ul>
<li><p>수량</p></li>
<li>
<select class="select" id="wr_2" name="wr_2" required>
<option value="">선택해 주세요</option>
<option value="1">1</option>
<option value="2">2</option>
<option value="3">3</option>
</select>
</li>
</ul>
</div>
<div class="ref">
<ul>
<li><p>이름</p></li>
<li><input type="text" id="wr_name" name="wr_name" class="full_ip" required placeholder="이름을 입력해 주세요"></li>
</ul>
</div>
<div class="ref">
<ul>
<li><p>연락처</p></li>
<li><input type="text" id="wr_1" name="wr_1" class="full_ip" required placeholder="연락처를 입력해 주세요"></li>
</ul>
</div>
</div>
</div>
</div>
<div class="btns">
<button class="btn_03" onmousedown="if(typeof mobConv != 'undefined'){mobConv();}">신청하기</button>
</div>
</div>
</div>
</form>

 

 

<script>
    function form_Check(){
        if(form.wr_name.value == ''){
            alert("이름을 입력해주세요");
            form.wr_name.focus();
            return false;
        }

        if(form.wr_1.value ==''){
            alert("연락처를 입력해주세요");
            form.wr_1.focus();
            return false;
        }

        if(form.wr_2.value ==''){
            alert("선택해주세요");
            form.wr_2.focus();
            return false;
        }

        if(form.wr_3.value ==''){
            alert("선택해주세요");
            form.wr_3.focus();
            return false;
        } else {
            form.submit();

            _tfa.push({notify: 'event', name: 'lead', id: 1323402});
        }
    };
</script>

 

원래는 아래처럼 스크립트 따로 했놨었는데 위처럼 하면 form 체크후 데이터 넘어갈때 실행되나요?

<script>
    function mobConv(){
        _tfa.push({notify: 'event', name: 'lead', id: 1323402});
    }
</script>
위처럼 넣으면 넣으면 되는건가요???

이 질문에 댓글 쓰기 :

답변 2

동시 실행이라는것은 실질적으로 존재하지 않습니다.

그렇게 보이게 처리를 하는 것일뿐
넘어 갈 때 실행하고 싶다는것은 넘어간 후 데이터가 처리 되고나서를 원하시는건지
아니면 데이터 처리 전에 실행 후 데이터를 처리하고 싶은건지 명확히 하셔야 합니다.

 

해당 폼의 유효성검사들이 끝난 후 mobConv() 안에 있는 구문을 실행시키고 싶으신거라면 submit 이전에 해당 함수를 실행시키셔야 합니다

submit 이벤트는 페이지가 이동하는 동작이므로 그 이후의 스크립트들은 무시됩니다.
만약 submit 이벤트 후 실행시키고 싶으신것이라면 ajax, 콜백 등을 활용하셔야 합니다

해당 필드의 입력 유효성만 검사하려면

required="required"

이런식으로 넣어주셔도 되고

 

그누보드 자체 함수인

class="required"

 

이런 형태로 넣어주셔도 됩니다.

 

그 외에 form 단에서 검사하고 싶으시면

https://m.blog.naver.com/PostView.nhn?blogId=writer0713&logNo=220194694539&proxyReferer=https:%2F%2Fwww.google.com%2F

이런 방법도 있습니다.

 

위 예시 중 입맛에 맞는것으로 하시면됩니다.

 

답변을 작성하시기 전에 로그인 해주세요.
전체 123,656 | RSS
QA 내용 검색

회원로그인

(주)에스아이알소프트 / 대표:홍석명 / (06211) 서울특별시 강남구 역삼동 707-34 한신인터밸리24 서관 1404호 / E-Mail: admin@sir.kr
사업자등록번호: 217-81-36347 / 통신판매업신고번호:2014-서울강남-02098호 / 개인정보보호책임자:김민섭(minsup@sir.kr)
© SIRSOFT