테스트 사이트 - 개발 중인 베타 버전입니다

setTimeout 채택완료

민쯩먼저깔게요 7년 전 조회 1,909

ie에서 

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

 

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

 

 

이경우는 

 

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

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

댓글을 작성하려면 로그인이 필요합니다.

답변 2개

채택된 답변
+20 포인트
7년 전

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

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

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

 

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

 

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

 

 

 

로그인 후 평가할 수 있습니다

답변에 대한 댓글 2개

민쯩먼저깔게요
7년 전
감사합니다~
여기 보고 했는데...
크롬에서는 되는데 ie에서는 안되더군요.
https://stackoverflow.com/questions/7843355/submit-two-forms-with-one-button
균이
7년 전
form명이 form9가 아니면 해당 폼 이름으로 document.폼명.target 이와 같이 해주세요

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

댓글을 작성하려면 로그인이 필요합니다.

플래토
7년 전

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

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

 

</p>

<p> </p>

<p><script>

function sTimeOut(strId,time) {

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

}</p>

<p>function submitForms() {

    sTimeOut("form9",100);

    sTimeOut("foutlogin",200);

}

</script></p>

<p>

로그인 후 평가할 수 있습니다

답변에 대한 댓글 6개

민쯩먼저깔게요
7년 전
답변 감사합니다~

function sTimeOut(strId,time) {

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

}

드림위버에서 보니 이 부분이 에러나는거 같습니다..
민쯩먼저깔게요
7년 전
아 funcito 이거 때문이군요,,ㅎ
플래토
7년 전
@민쯩먼저깔게요
ㅎㅎ 제가 오타를 냈네요

funciton => function 으로 수정해보세요
민쯩먼저깔게요
7년 전
알려주신대로 하니 크롬도 작동이 안되네요,,왜 그런지..
플래토
7년 전
@민쯩먼저깔게요
죄송~ 급하게 타이핑하다보니

오늘은 오타가 여러개네요

getElementByID => getElementById
민쯩먼저깔게요
7년 전
대소문자도 관계가 있군요,,
그런데 ie에서는 역시 작동이 안돼서,,,

댓글을 작성하려면 로그인이 필요합니다.

답변을 작성하려면 로그인이 필요합니다.

로그인