2011-08-10 2 views
3

AJAX 모달 윈도우 내에서 작업 파일 업로드를 생성 한 사람이 있습니까? 나는이 같은 것을 사용하여 시도 :AJAX 모달 윈도우에서 파일 업로드

ajaxForm(
    bind("upload", template, 
     "file" -> SHtml.fileUpload(processFile _), 
     "submit" -> SHtml.ajaxSubmit("Submit",() => { 
      println("Submitted") 
      Noop 
     }) 
    ) 
) 

를 내가 누를 때 버튼에 연결된 버튼 기능 (내가 콘솔에서 "제출"참조)을 실행 "제출"하지만 processFile 생략하고 내가 업로드 된 파일에 아무것도 할 수 없습니다 .

목록 2.3과 스칼라 1.8.1을 사용하고 있습니다.

답변

4

여기 당신의 전선을 건너고 있다고 생각합니다. SHtml.fileUpload는 제출시 FileParamHolder를 캡처하기 위해 Form 내에서 사용하기위한 것입니다. 아시다시피 귀하의 모달에 도움이되지 않을 수있는 조치 URL에 POST가 발생합니다. 당신이 fileUpload에 대한 탐색 리프트 페이지에서 예제를 참조하면, 당신은 파일 업로드 사용이 표시됩니다 : 당신은 양식을 보내하지 않는 ajaxSubmit을 사용하고

bind("e", in, 
    ... 
    "receipt" -> SHtml.fileUpload(fileHolder = _), 
    "tags" -> SHtml.text(tags, doTagsAndSubmit)) 
} 

을, 그냥 서버 측 메서드를 호출 JsCmd - 귀하의 경우 println _Noop을 반환합니다. 그래서 당신은 어떤 파일도 보지 못합니다.

예를 보려면 ajax 스타일의 파일을 업로드하려는 경우 this link을 확인하십시오. 또한 awthome jQuery File Upload 플러그인을 사용하는 github here의 작동 예제가 있습니다.