setTimeout

setTimeout

QA

setTimeout

본문

ie에서 

setTimeout(myFunction, 1000, param ); 이게 작동안된다고 질문하니

 

setTimeout(function() { myFunction(param); }, 1000); 이렇게 고쳐야 한다고 답변이 있던데...

 

 

이경우는 

<script>
function submitForms() {
setTimeout(function(){ document.getElementById("form9").submit();}, 100);     
    setTimeout(function(){ document.getElementById("foutlogin").submit();}, 200);  
}
</script>

 

어떻게 고쳐주어야 할까요?

크롬에서는 되는데 ie에서는 안돼서요,,

이 질문에 댓글 쓰기 :

답변 2

크롬에서는 된다구요? 그럴리가요

하나의 페이지에서 form 두개가 동시에 submit 될수가 없습니다

왜냐하면 첫번째 submit이 실행 되면서 action페이지로 이동 되어버리니 두번째 submit는 일어날 수가 없습니다

 

iframe을 하나만들어서 아래처럼 하여 테스트 한 후 iframe width, height를 0 으로 만들어 주세요

<iframe name='aaa' width='500' height='500'></iframe>

 

 function submitForms() {
      setTimeout(function(){document.form9.target='aaa'; document.getElementById("form9").submit();}, 100);    
     setTimeout(function(){ document.getElementById("foutlogin").submit();}, 200); 
 }

 

 

 

form명이 form9가 아니면 해당 폼 이름으로 document.폼명.target 이와 같이 해주세요

stackoverflow의 방법은 0번 답변 보면 두개의 form에 target=_blank를 주어서
새 페이지에서 submit 되도록 하는 것인데 이렇게 하면 새창 두개를 닫아주어야 하는
대단히 불편한 일이 생길테죠
그러지 않기 위해서 target=_blank 대신 target을 iframe로 만들어 주는 것입니다

그럴경우는 하나의 함수로 만들어서

공통으로 처리하게 해서 호출해보세요

 


 
<script>
function sTimeOut(strId,time) {
    setTimeout(funciton() {document.getElementByID(strId).submit();}, time);
}
function submitForms() {
    sTimeOut("form9",100);
    sTimeOut("foutlogin",200);
}
</script>

답변 감사합니다~

function sTimeOut(strId,time) {

    setTimeout(funciton() {document.getElementByID(strId).submit();}, time);

}

드림위버에서 보니 이 부분이 에러나는거 같습니다..

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

회원로그인

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