2013-03-12 1 views
3

양식에있는 일부 구성에 따라 파일을 다운로드 할 페이지가 있습니다.양식은 처음으로 전송됩니다.

양식을 보내면 파일이 잘 다운로드되지만 양식을 변경하여 다시 보내면 아무 일도 일어나지 않습니다.

예 형태 : 폼 처음에만 전송된다

<form action="/download" method="get" target="_blank"> 
    <input type="checkbox" name="some_option" value="1" /> 
    <input type="submit" value="Download" /> 
</form> 

.

JS를 사용하여 양식을 보내는 방법에 대해 생각했지만 파일 다운로드가 그렇게 생각하지 않습니다.

의견이 있으십니까?

수정 : target="_blank" 님이 추천 한 글을 추가했습니다.

UPDATE :

추가 된이 :

submit 이벤트는 "다운로드"버튼을 누르 때마다 트리거,하지만 난 여전히 파일은 처음 다운로드받을
$('form').submit(function() { 
    this.action = addRandomParam(this.action); 
    console.log(this.action); 
}); 

.

+2

'action = "download"가 무슨 뜻인지 잘 모르겠습니다. 'download'는 유효한 URL, relative 또는 absolute로 대체되어야합니다. – Blazemonger

+0

양식을 다시 보내는 방법을 자세히 설명해 주시겠습니까? – hjpotter92

답변

0

좋아, 문제는 약간의 자바 스크립트이 (P 코드 단지 예시) 등의 일을하고 있었다.

답변 해 주셔서 감사합니다.

2

다운로드 URL이 download이라면 거기에 슬래시를 추가해야합니다. 그렇지 않으면 분명히 존재하지 않는 /download/download으로 이동하게됩니다. 이게 맞으면 조치를 취할 수 있습니다. action="/download"

+0

나는 그것을 바꿨고 심지어 target = "_ blank"같은 결과를 추가했다. – grilix

+0

대상이 작동하면 새 탭이 열리고 파일이 다운로드되고 닫힙니다. "/ download"동작도 잘 작동합니다. 문제는 내가 "다운로드"를 다시 히트했을 때입니다. 두 번째 시간, 네트워크 활동 없음, 오류 없음, 아무것도하지 않습니다. – grilix

1

제출 URL이 브라우저에 저장되어있을 수 있습니까? 제출 버튼을 누른 후 다운로드 URL에 임의의 매개 변수를 추가 할 수 있습니까? 그러면 다음에 제출을 클릭하면 브라우저가 다른 URL로 생각할 것입니까? 이 여러 번 전송되는 정상적인 형태를 방지하는 것이 었습니다

$('form').submit(function() { 
    if (alreadySent()) { 
    this.preventDefault(); 
    } 
    setAsSent(); 
}); 

... :