모달에 드롭 존이있는 양식을 사용하고 있는데 문제가 있습니다 : 사용자가 처음 모달을 열면 새로운 Dropzone을 호출하여 제대로 만들 수 있습니다. ("# my-form-id"). 문제는 사용자가 모달을 닫았다가 다시 열면 폼에 다시 dropzone을 첨부해야한다는 것입니다. 왜냐하면 아약스를 통해 렌더링되기 때문입니다. Dropzone이 이미 첨부되었으므로 오류가 발생합니다. 창을 다시 열 때 닫는 모달에서 내 dropzone을 파괴하고 다시 첨부하려고했습니다. 오류를 제공하는 것을 중지하지만 두 번째로는 오류가 발생하지 않습니다. 어떻게 그 상황에서 동일한 양식 (동일한 ID)에 대해 여러 번 dropzone을 첨부 할 수 있습니까? 어떤 아이디어?Dropzone JS - 같은 양식으로 파괴 및 다시 작성
답변
인스턴스가 이미 선언되었는지 확인하는 방법은 어떻습니까? 제 경우에 dropXML을 이미 선언 한 경우이 메서드로 다시 선언하지 않아도됩니다.
if (Dropzone.instances.length == 0) {
dropXML = new Dropzone("div#dropXML", dropXMLOptions);
$('div.dropzone').find('div.dz-message').toggle();
$('div.dropzone').find('div.dz-message').show();
}
OP는 "폼에 다시 dropzone을 첨부해야합니다. 왜냐하면 아약스를 통해 렌더링되기 때문입니다." 그래서 나는 이것이 답이 아니라고 생각합니다. – Matus
좋습니다. 변수에 옵션을 저장하고 나중에이 옵션을 호출하여 다시 만들 수는 있습니다. 따라서 "X"옵션을 저장 한 상태에서 dropzone을 삭제하면 나중에 해당 옵션으로 지정된 위치에 새 dropzone을 생성합니다. 그것은 나를 위해 작동합니다. –
나는 이것을 발견했다. 나는 그것이 도움이되기를 바랍니다. http://jsfiddle.net/tomas_eklund/761qr3r5/39/ –
일부 코드를 공유 할 수 있습니까? 어떻게 그걸 파괴하고 있니? – Matus