2012-03-30 2 views
0

양식을 새 창에 제출하고 현재 창을 리디렉션하려고했지만 작동하지 않습니다. 내 코드입니다 : 내가이 코드를 실행할 때자바 스크립트 양식 제출 및 현재 페이지 리디렉션

function submit() { 
    document.checkout_confirmation.submit(); 
    setTimeout(window.location = 'http://google.nl', 1000); 
    } 

은 단지 페이지를 리디렉션과에서를 제출하지 않습니다. 내가 잘못하고있는 건가, 아니면 불가능한가? 내 질문에 세부 사항이 누락 된 경우 언제든지 문의하십시오. 미리 감사드립니다.

답변

3

올바른 일은 제출 성공 후 서버가 사용자를 리디렉션하도록하는 것입니다. 양식에 대한 무언가가 유효하지 않은 경우 어떻게해야합니까? 이 경우 리디렉션하고 싶지 않고 유효성을 검사 할 JavaScript 코드를 신뢰할 수 없습니다 (사용할 수 없기 때문에). Post/Redirect/Get을 참조하십시오.

또한 setTimeout을 잘못 사용하고 있습니다. 이미 submit()을 통해 다른 곳으로 브라우저를 보내고있는 경우에는 작동하지 않을 수 있습니다 (양식이 다른 "제출"수신기 및 송신기 만 발생시킬 가능성은 항상 있습니다 Ajax를 통해, 나는 가정한다).

setTimeout(function() { 
    window.location = 'http://google.nl/'; 
}, 1000); 
+0

양식 검증을 위해 javascript를 사용하지 않으면 해당 양식의 결과가 내 지불 공급자에게 제출되고 해당 SHA를 사용하여 유효성이 검사됩니다. 당신이 정말로 필요하다고 생각한다면 어떻게 지불 제공자에게 PHP를 통해 양식을 제출할 것인지 설명 할 수 있습니까? – william1001

+1

settimeout에서 오류를 설명해 주셔서 감사합니다. 어쩌면 그게 문제 야, 지금해볼거야. 편집 : 그것은 지금 작동합니다, 대단히 감사합니다. – william1001

관련 문제