한 게시판에서 한 게시물당 첨부파일 업로드 갯수를 1개로 제한하려고 구글검색을 통해 아래와같은 자바스크립트를 구했습니다

 

setInterval("check_file()",1000);

function check_file() {
    var n = jQuery(".fileList option").size();
    var text= jQuery(".fileList option:selected").val();
    if (n=1) {
        //alert(“1일 1장씩만 올릴 수 있습니다”);
        var btn_name="#swfUploadButton"+{$editor_sequence};
        if (text) {
            jQuery(btn_name).hide();
        }
    } else {
        var btn_name="#swfUploadButton"+{$editor_sequence};
        jQuery(btn_name).show();
    }
}

 

그러나 막상 적용을 해 보니 오류가 생기는데 파이어버그로 콘솔을 봐도 대체 뭐가 오류인지 잡아내지를 못하겠습니다.

한군데를 수정하면 또 다른곳에서 오류가 나고,

 

지금은 아래 부분에서 오류가 납니다.

뭐가 잘못된 걸까요?

 

2018-05-18 오후 1-06-18.png

  • ?
    {$editor_sequence}는 템플릿파일에 적어둬야합니다.
    PHP가 해석을 해줘야 editor_sequence 내용으로 변환할 수 있습니다.

    템플릿에

    <script>
    var editor_sequence_editor_js = "{$editor_sequence}";
    </script>
    을 넣고

    js파일에 있는 {$editor_sequence}를 editor_sequence_editor_js로 바꾸세요.

    js파일은 head쪽이 아닌 푸터쪽에서 불러오게 하셔야합니다.
  • ?
    아니면 저 js파일을 그냥 템플릿파일에 넣으셔야합니다.
  • ?
    {$editor_sequence}는 <?php echo $editor_sequence; ?>로 생각하시면 됩니다.
    자바스크립트에서 읽어들이지를 못하니 에러가 나는것입니다.
  • profile
    템플릿이라면 레이아웃에 넣으라는 말씀인가요?
    지금은 write_form.html 에 넣었습니다.
  • profile ?
    네 html 파일에 넣으시면 됩니다.
  • ?
    https://www.xemarket.co.kr/index.php?mid=marketiteminfo&act=dispMarketitemDetailListView&item_srl=301480
    다만 현재 잘 작동하는지는 모르겠네요 ^^;
  • profile
    감사합니다.
    알려주신대로 하니 오류는 나질않습니다.
    그런데 작동을 제대로 하질 않네요 ㅜ
  • profile
    앗! 저런게 있었네요.
    그런데 작동여부가 불확실하면....ㅠㅠ
  • ?
    비교형을 ==로 하셔야합니다.
  • ?
    https://www.w3schools.com/js/js_comparisons.asp 확인해보세요.
  • profile
    아, 위 코드에서 비교형이라면
    if (n==1) {
    이부분 밖에 없는것 같은데, 수정해봐도 역시 안먹히네요.
  • ?
    안에 "check_file()"에도 에러가 있습니다. ""안에 넣으면 함수가 아닌 문자열로 취급됩니다.
  • profile
    코드의 내용대로라면 파일한개 첨부 후 업로드대기상태인 파일목록에서 2개이상이 되면 버튼을 숨겨주는 코드인것 같은데, 혹시 에디터에 따라 버튼명 들이 다른건 아닌지 모르겠네요.
  • ?
    영어를 어느정도 할 줄 아신다면

    https://www.codeschool.com/learn/javascript
    http://www.learn-js.org

    온라인으로 자바스크립트를 배워보실 수 있습니다.
  • profile
    네 감사합니다.
    더 공부해 보겠습니다