我很欣赏这可能不是一个好问题,但我束手无策(如果问题需要删除,请告诉我)
我在 Magento (Zetaprints Web To Print) 中安装了一个插件,这个插件的图像上传部分不起作用。我已经联系了他们的支持,但他们不想知道这件事,除非我掏钱。
我认为这是由于引发了 JavaScript 错误,在 Firefox 和 Chrome 控制台中我都会收到错误消息:
铬合金
未捕获的类型错误:对象没有“更改”方法
火狐
TypeError: $td.children(...).attr(...).change 不是函数
无论如何,我都不是 jQuery 或 JavaScript 方面的专家,但在我看来,这是因为被引用的对象不是 jQuery 对象,而是其他东西(我不确定)。错误引用的代码如下:
function add_image_to_gallery (guid, url, on_image_load) {
var trs = $('.tabs-wrapper > .user-images > table > tbody > tr');
$(trs).each(function () {
var $tr = $(this);
var $template = $tr.children('.zp-html-template');
var $td = $template
.clone()
.removeClass('zp-html-template')
.insertAfter($template);
// THE CODE BELOW IS THROWING THE ERRORS
$td
.children('.zetaprints-field')
.attr('value', guid)
.change({ zp: zp }, image_field_select_handler);
$td
.children('.image-edit-thumb')
.click(thumbnail_edit_click_handler);
var $thumb = $td.children('.image-edit-thumb');
$thumb
.find('> .buttons-row > .zp-delete-button')
.click(delete_image_click_handle);
var $img = $thumb
.children('img')
.attr('alt', guid)
.attr('src', url);
if (on_image_load)
$img.load(on_image_load);
});
}
(以及一小段代码,文件超过 1400 行)
有人能看出上述代码有什么明显错误吗?或者有人知道是什么原因造成的吗?