파일 삭제 관한 에러및 질문입니다.
- 작성자 :
- 이*현
- 작성일 :
- 2013-07-23 10:14:06
- 조회수 :
- 1,132
- 구분 :
- 기타
- 진행상태 :
- 완료
Q
1게시판을 만들어 첨부파일을 등록하고 수정페이지에서 등록된 첨부파일을 삭제할려고하는데여 제대로 동작이 안되서요
/*파일 삭제 function */
function fn_egov_deleteFile(bbsTy, bbsNo , fileNo ) {
alert("a");
//forms = document.fileForm;
forms = document.getElementsByTagName("form");
for (var i = 0; i < forms.length; i++) {
if (typeof(forms[i].bbsTy) != "undefined" &&
typeof(forms[i].bbsNo) != "undefined" &&
typeof(forms[i].fileNo) != "undefined" &&
typeof(forms[i].fileListCnt) != "undefined") {
form = forms[i];
}
}
form.bbsTy.value = bbsTy;
form.bbsNo.value = bbsNo;
form.fileNo.value = fileNo;
form.action = "<c:url value='/system/bbs/deleteFileInfs.do'/>";
form.submit();
}
PK값이 3개여서 bbsTy, bbsNO, fileNO을 받아올려고하는데요 fileNo가 넘어오질 않습니다.
<a href="javascript:fn_egov_deleteFile('<c:out value="${fileVO.bbsTy}"/>','<c:out value="${fileVO.bbsNo}"/>','<c:out value="${fileVO.fileNo}"/>')"><img src="<c:url value='/images/btnDelete01.gif'/>" title="삭제" class="vBottom"></a>
이렇게 3개를 넘겨는데도 말입니다
그래서 자바스크립트 디버깅 모드를 돌려보니
form.bbsTy.value = bbsTy;에서 form 정의되어있지 않다고 하는데 어디서 정의하면되는지요 기존은 소스를 가지고와서 한건데 실행이 안됩니다 ㅠㅠ
/*파일 삭제 function */
function fn_egov_deleteFile(bbsTy, bbsNo , fileNo ) {
alert("a");
//forms = document.fileForm;
forms = document.getElementsByTagName("form");
for (var i = 0; i < forms.length; i++) {
if (typeof(forms[i].bbsTy) != "undefined" &&
typeof(forms[i].bbsNo) != "undefined" &&
typeof(forms[i].fileNo) != "undefined" &&
typeof(forms[i].fileListCnt) != "undefined") {
form = forms[i];
}
}
form.bbsTy.value = bbsTy;
form.bbsNo.value = bbsNo;
form.fileNo.value = fileNo;
form.action = "<c:url value='/system/bbs/deleteFileInfs.do'/>";
form.submit();
}
PK값이 3개여서 bbsTy, bbsNO, fileNO을 받아올려고하는데요 fileNo가 넘어오질 않습니다.
<a href="javascript:fn_egov_deleteFile('<c:out value="${fileVO.bbsTy}"/>','<c:out value="${fileVO.bbsNo}"/>','<c:out value="${fileVO.fileNo}"/>')"><img src="<c:url value='/images/btnDelete01.gif'/>" title="삭제" class="vBottom"></a>
이렇게 3개를 넘겨는데도 말입니다
그래서 자바스크립트 디버깅 모드를 돌려보니
form.bbsTy.value = bbsTy;에서 form 정의되어있지 않다고 하는데 어디서 정의하면되는지요 기존은 소스를 가지고와서 한건데 실행이 안됩니다 ㅠㅠ
A
안녕하세요. 이정현님.
deleteFileInfs.do에 대한 삭제 처리는 atchFileId와 fileSn을 파라미터로 삭제를 처리하도록 되어 있습니다. (공통컴포넌트 실행환경 템플릿)
가지고 계신 소스 부분의 bbsTy나 bbsNo 등은 저희 쪽에서 사용하지 않는 방식입니다.
deleteFileInfs.do에 대한 서버 처리 부분을 확인해 보시면 파라미터로 필요한 값을 확인하실 수 있을 것 같습니다.
form은 fn_egov_deleteFile function의 초반에 여러 form(forms)중에 파일 정보를 가지고 있는 form을 찾아 function 내부에서 정의한 부분입니다.
javascript에서는 "var"로 정의하지 않은 부분에 대해서는 전역변수로 사용하기 때문에 for 문 안에 form = forms[i]; 부분에서 form이라는 전역변수를 생성하고, 밑에서 활용하는 방식입니다.
혹, 일부 브라우저에서 이 부분이 문제가 된다면 함수 첫 부분에 다음과 같이 지역변수를 선언해서 사용해 보십시오.
var form;
그럼, 즐거운 하루되십시오.
감사합니다.
deleteFileInfs.do에 대한 삭제 처리는 atchFileId와 fileSn을 파라미터로 삭제를 처리하도록 되어 있습니다. (공통컴포넌트 실행환경 템플릿)
가지고 계신 소스 부분의 bbsTy나 bbsNo 등은 저희 쪽에서 사용하지 않는 방식입니다.
deleteFileInfs.do에 대한 서버 처리 부분을 확인해 보시면 파라미터로 필요한 값을 확인하실 수 있을 것 같습니다.
form은 fn_egov_deleteFile function의 초반에 여러 form(forms)중에 파일 정보를 가지고 있는 form을 찾아 function 내부에서 정의한 부분입니다.
javascript에서는 "var"로 정의하지 않은 부분에 대해서는 전역변수로 사용하기 때문에 for 문 안에 form = forms[i]; 부분에서 form이라는 전역변수를 생성하고, 밑에서 활용하는 방식입니다.
혹, 일부 브라우저에서 이 부분이 문제가 된다면 함수 첫 부분에 다음과 같이 지역변수를 선언해서 사용해 보십시오.
var form;
그럼, 즐거운 하루되십시오.
감사합니다.