질문/조언질답게시판
Extra Form
PHP PHP 7.4
CMS Rhymix 2.x

기진곰님께서 올려주신 댓글 새로고침없이 로드하기를 참고해서

#comment부분을 새로 로드하는 것까지는 완료했습니다.

하지만 새로 로드된 상태에서 다시 댓글을 작성하면 댓글 내용이 없다는 메시지가 출력되어 확인해보니,

xml_js_filter에

        API_ONREADY : function() {

            var self = this;

 

            // hook form submit event

            $('form')

                .each(function(){

                    if (this.onsubmit) {

                        this['xe:onsubmit'] = this.onsubmit;

                        this.onsubmit = null;

                    }

                })

                .submit(function(e){

                    var legacyFn = this['xe:onsubmit'];

                    var hasLegacyFn = $.isFunction(legacyFn);

                    var bResult = hasLegacyFn?legacyFn.apply(this):self.run(this);

 

                    if(!bResult)

                    {

                        e.stopImmediatePropagation();

                    }

                    return bResult;

                });

        },

부분에서 form submit 후킹이 안되어버리는 문제가 발생하는 것 같습니다.

js에서 임의로 API_ONREADY를 콜하려면 어떻게 해야될까요?

혹은 어떤 조건에서 저 라인이 실행되는지 조언을 구하고 싶습니다.

  • profile
    댓글 form이 있는 부분까지 통째로 교체해 버리신 것 아닌가요? 구버전 XE에서 물려받은 필터 함수들은 페이지 로딩 직후에만 실행되기 때문에, 기존 form을 날려버리고 새로운 form을 집어넣으면 기존에 붙어 있던 submit 이벤트 핸들러가 날아갑니다. 댓글 목록 갱신시 form 부분은 제외하고, 실제 댓글 목록에 해당하는 부분만 교체하는 것이 좋습니다. 정확히 어떤 선택자를 사용해야 하는지는 스킨에 따라 다릅니다.
  • profile ?
    시도해보겠습니다 감사합니다
  • profile ?
    해결되었습니다. 간단한 이슈였네요