ติดปัญหา find หา input ไม่เจอในไฟล์ javascript

พูดคุย แลกเปลี่ยน ปัญหา การเขียน JavaScript เครื่องมือ AJAX Web 2.0 AJAX Framework Jquery

Moderator: mindphp

User avatar
eange08
PHP Super Hero Member
PHP Super Hero Member
Posts: 628
Joined: 22/12/2020 10:09 am

ติดปัญหา find หา input ไม่เจอในไฟล์ javascript

Post by eange08 »

ติดปัญหาเวลาอัพโหลดรูปแล้วตัว process ที่เป็นวงกลมหายไป (หมายเลข 1) และถ้าอัพมากกว่า 1 ไฟล์จะไม่ขึ้นพวกชื่อรูปภาพเหมือนบรรทัดแรก (หมายเลข 2)
screenshot-localhost-2021.01.22-16_24_14.png
screenshot-localhost-2021.01.22-16_24_14.png (34.45 KiB) Viewed 183 times
ดูจากไฟล์ php ก็ส่งข้อมูลรูปภาพปกติ แต่พอเข้าในไฟล์ script.js แล้วขึ้น error แบบนี้
JavaScript & Jquery Ajax-1.png
เลยไม่รู้ว่าถ้าจะต้องให้หา find('input') เจอจะต้องแก้ส่วนไหนนะคะ
  • code ในส่วนบรรทัดที่ error ว่าหา find('input') ไม่เจอในไฟล์ script.js

Code: Select all

progress: function (e, data) {

            // Calculate the completion percentsage of the upload
            var progress = parseInt(data.loaded / data.total * 100, 10);

            data.context.find('input').val(progress).change(); //---บรรทัดที่ 263 หา "input" ไม่เจอ
            

            if (progress == 100) {
               data.context.removeClass('working');

            }
        }
  • code ส่วนที่แสดงบนหน้าจอ
- ตรงที่เป็น input type="text" เป็นส่วนการเก็บค่า process แล้วไปแสดงเป็นรูป process วงกลมค่ะ

Code: Select all

 
                var tpl = $('<li class="working"><input type="text" value="0" data-width="48" data-height="48"' +
                        ' data-fgColor="#0788a5" data-readOnly="1" data-bgColor="#fff" /><div class="row"><div class="col-md-4"><p></p></div><div class="col-md-3 aft' + id_upload + '"></div><div class="col-md-3 download' + id_upload + '" style="text-align:left;"></div><div class="col-md-1"><span></span></div></div></li>');
            }
             tpl.find('input').knob();
            // Listen for clicks on the icons.png to remove
            tpl.find('span').click(function () {

                if (tpl.hasClass('working')) {
                    jqXHR.abort();
                }
                tpl.fadeOut(function () {
                    tpl.remove();
                });

            });

         
        
User avatar
eange08
PHP Super Hero Member
PHP Super Hero Member
Posts: 628
Joined: 22/12/2020 10:09 am

Re: ติดปัญหา find หา input ไม่เจอในไฟล์ javascript

Post by eange08 »

แก้ปัญหาได้แล้วนะคะ
1. ที่ว่าตัว process ไม่ขึ้นเป็นที่ใส่คำสั่งนี้ผิดตำแหน่ง ต้องอยู่นอก loop

Code: Select all

  if (mode == 'crop') {    
                $('.id_cropbtn').show();     
                $('.crop_working').append($('#crop_template').html());
                var tpl = $('.crop_working .cropbe4:last');
                
                $(tpl).find('.crop_nm').html(data.files[0].name + '<br><i>Size 60x60<br><div style="color:#ff29e6;">' + formatFileSize(data.files[0].size) + '</div></i>');
            } else {   
                var tpl = $('<li class="working"><input type="text" value="0" data-width="48" data-height="48"' +
                        ' data-fgColor="#0788a5" data-readOnly="1" data-bgColor="#fff"  /><div class="row"><div class="col-md-4"><p>vvv</p></div><div class="col-md-3 aft' + id_upload + '"></div><div class="col-md-2 download' + id_upload + '" style="text-align:left;"></div><div class="col-md-1"><span></span></div></div></li>');

            }
            data.context = tpl; //----ต้องใส่นอก loop เพราะต้องใช้ทั้งแสดงผลส่วนตัว process
2. กรณีที่ upload มากกว่า 1 รูปแล้วไม่แสดงข้อมูล
ตอน upload มีการเช็คค่า token ของ recaptcha แล้วดันไม่ส่ง token มาให้ตอน upload รูปที่ 2 และรูปถัดๆ ไป (คือส่งมาแค่เฉพาะตอน upload รูปแรก) จึงต้องทำการปรับ javascript ไปเรียกการ gen token ใหม่ทุกครั้งที่มีการอัพโหลดรูป
screenshot-localhost-2021.01.23-15_03_26.png
screenshot-localhost-2021.01.23-15_03_26.png (53.95 KiB) Viewed 167 times
Post Reply
  • Similar Topics
    Replies
    Views
    Last post

Return to “JavaScript & Jquery Ajax”

Who is online

Users browsing this forum: No registered users and 4 guests