微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

重力形式脚本页数刷新

如何解决重力形式脚本页数刷新

我需要一些有关GravityForms脚本的帮助。

下面的脚本计算已将多少文件上传到我的GravityForm并显示每个文件缩略图

但是,例如,如果我上传1个文件并刷新页面,则计数仍为1。有人知道如何在加载页面时使用此脚本刷新计数吗?

<script type="text/javascript">
    
        // Uploaded Files Count Calculation
        function countThemFiles(formId,fieldId,offset,targetId) {
            var count = gwCountFiles(fieldId,formId);
            jQuery('#input_' + formId + '_' + targetId).val(count + offset).change();
        }
        
        // Count Uploaded Files
        gwCountFiles = function (fieldID,formID) {
            function getAllFiles(formID) {
                var selector = '#gform_uploaded_files_' + formID,$uploadedFiles = jQuery(selector),files;
                files = $uploadedFiles.val();
                files = '' === files ? {} : jQuery.parseJSON(files);
                return files;
            }
            function getFiles(fieldID,formID) {
                var allFiles = getAllFiles(formID);
                var inputName = getInputName(fieldID);
                if (typeof allFiles[inputName] == 'undefined')
                    allFiles[inputName] = [];
                return allFiles[inputName];
            }
            function getInputName(fieldID) {
                return "input_" + fieldID;
            }
            var files = getFiles(fieldID,formID);
            return files.length;
        };
 
        // Generate Thumbnails
        gform.addFilter('gform_file_upload_markup',function (html,file,up,strings,imagesUrl) {
            var base_url = window.location.origin;
            var myFilePath = base_url + '/wp-content/uploads/gravity_forms/url/tmp/';
            var formId = up.settings.multipart_params.form_id,fieldId = up.settings.multipart_params.field_id;
            var fileName = up.settings.multipart_params.gform_unique_id + '_input_' + fieldId +'_'+ file.target_name;
            var fid = "fid"+ Math.ceil((Math.random() * (10000 - 1000)) + 1000);
            
            //Converting Image to the base64
            function convertImgToBase64URL(url,callback,outputFormat){
                var img = new Image();
                img.crossOrigin = 'Anonymous';
                img.onload = function(){
                    var canvas = document.createElement('CANVAS'),ctx = canvas.getContext('2d'),dataURL;
                    canvas.height = (300 * img.height)/img.width;
                    canvas.width = 300; //img.width;
                    ctx.drawImage(img,canvas.width,canvas.height);
                    dataURL = canvas.toDataURL(outputFormat);
                    callback(dataURL);
                    canvas = null;
                };
                img.src = url;
            }
            convertImgToBase64URL(myFilePath + fileName,function(base64Img){
                var ffid = "#"+fid;
                jQuery(ffid).attr("src",base64Img);
                console.log('RESULT:',base64Img);
            });
            
            // display Thumbnails
            var formId = up.settings.multipart_params.form_id,fieldId = up.settings.multipart_params.field_id,targetId = 30; // field_id of uploaded files count field
            html = '<img id="'+fid+"\" src='' style='width:33.33%;height:auto;'/><img class='gform_delete' " + "src='" + imagesUrl + "/delete.png' " + "onclick='gformDeleteUploadedFile(" + formId + "," + fieldId + ",this);countThemFiles(" + formId + "," + targetId + ");' " + "alt='" + strings.delete_file + "' title='" + strings.delete_file + "' />";
            countThemFiles(formId,1,targetId);
            return html;
        });

        // Uploaded Files Count Calculation
        function countThemFiles(formId,formId);
            jQuery('#input_' + formId + '_' + targetId).val(count + offset).change();
        }

</script>

我尝试了许多不同的方法,我以为这可以用,但不幸的是并没有。

$(document).ready(function() {
  function countThemFiles(formId,targetId) { var count = gwCountFiles(fieldId,formId);
  jQuery('#input_' + formId + '_' + targetId).val(count + offset).change();
  }
});

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。