如何解决重力形式脚本页数刷新
我需要一些有关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 举报,一经查实,本站将立刻删除。