Extra Form
PHP PHP 7.4
CMS Rhymix 2.1

안녕하세요! 

https://gist.github.com/kijin/3aac21f6aa7b1c2303d82066050b7603
여기 기진곰님이 작성하신 rx_ajax를 사용한 새로고침없는 댓글 예제에서 <!-- 내용을 에디터로 입력받거나 파일 업로드를 넣는 것은 숙제로 남겨둘게요.^^ -->  그 숙제를 풀지못해 하루종일 삽질만 하고 있습니다.. 검색이란 검색과 여러자료들을 들여다봐도 rx_ajax를 이용한 파일업로드에 관한건 못찾았습니다.  제가 지금 접근하고 있는 방향이 맞는지도 모르겠고 , rx_ajax로 글 등록은 잘되는데 파일부분을 폼을 넣으면 뭔가 반응이 있는 같으면서도 작동은 안되고 ㅠ   혹시 아시는분 조언 부탁드립니다! 

 

<form action="/" method="POST" class="rx_ajax" data-callback-success="refreshPage" >

<input type="hidden" name="mid" value="{$mid}" />
<input type="hidden" name="act" value="procBoardInsertDocument" />

<input type="hidden" name="act" value="procFileUpload" />
<input type="file" name="fileUpload" value="{upload_target_srl}"/>

<input type="hidden" name="title"/>
<input type="hidden" name="document_srl" value="{document_srl}" />

<textarea name="content" placeholder="내용"></textarea>
<button type="submit" >등록</button>

</form>

 

 

  • profile

    1. rx_ajax 사용 여부와 무관하게, 파일 업로드가 포함된 폼에는 enctype="multipart/form-data" 속성이 있어야 합니다. 이게 없으면 일반적인 폼이라도 업로드가 되지 않아요.

    2. procBoardInsertDocument는 원래 파일 업로드를 받지 않습니다. 파일은 에디터를 통해 별도로 업로드됩니다. 즉, 파일이 정상적으로 업로드되더라도 게시판 모듈에서는 처리하지 않고 그냥 버립니다. 예제에서 파일 업로드를 숙제로 남겨둔 이유는, 파일 업로드를 받는 모듈이나 애드온을 따로 만들어서 연동하지 않으면 쓸모가 없기 때문입니다.

  • profile profile
    기진곰님 답변 감사합니다! 숙제를 풀어서 게시판 목록에서 간단한 내용과 파일업로드를 구현하고 싶었습니다.
    1. 처음 시도할때는 게시글 쓰기폼을 추려서 게시판 목록에 폼을 만들어 rx_ajax 클래스를 넣고 적절하게 input 만들어 주니 작동을 잘되였지만 이상하게 에디터만 나오고 파일업로더가 안나옵니다. 다시 게시글 작성페이지(write_form.html)에 들어가면 목록에서 사용한 똑같은 폼소스에 파일업로드가 또 나옵니다;

    2. procBoardInsertDocument는 원래 파일 업로드를 안받는다면 에디터에 달린 파일업로더를 목록에서도 사용할수 있는 그 어떤 방법이 있을까요?
  • profile profile
    업로더를 포함한 에디터를 제대로 불러오려면 $oDocument->getEditor()를 사용해야 합니다. 목록 화면에는 $oDocument가 없으므로 빈 문서라도 만들어 놓고 호출해야 합니다. 실제로 새 글을 작성할 때 그런 방법을 사용하지요. 단, "목록 화면에는 $oDocument가 없다"라는 불문율에 의지하는 서드파티 자료가 꽤 많기 때문에, 다른 변수명을 사용하지 않으면 여기저기 문제가 생길 거예요.
  • profile profile
    아, 감사합니다. 이해되였습니다.!
  • profile

    게시판 목록에서 글 작성을 할 이유가 있나요?
    새로고침 없이 구현을 하셔야되고 , 게시판 목록에서 파일 업로드를하신다면 여러 방법이 있겠지만, 아래와 같이 구현하시면 될것 같아요.

    1 . ajax 로 파일 업로드 구현

    http://web.geusgod.pe.kr:8081/sample_xe_jquery_fileupload
    http://goodthing.me/saucetip/4929


    2. data-callback-success="refreshPage" 함수 호출시
    업로드된 파일의 상태 변경

  • profile profile
    안녕하세요 클라드룹님! 목록에서 글쓰는건 되지만 파일첨부가 안되여서 헤메고 있었습니다, 파일첨부가 되면 트위터 글쓰기같은것도 가능할것같아서, 적어주신 답변 참고하면서 바로 시도 해보겠습니다. 감사합니다!