これは素晴らしい質問ではないかもしれませんが、私は機知に富んでいます(質問を削除する必要がある場合はお知らせください)
Magento (Zetaprints Web To Print) にプラグインをインストールしましたが、このプラグインの画像アップロード部分が機能しません。私は彼らのサポートに連絡しましたが、私がお金を出さない限り、彼らはそれについて知りたがりません.
Firefox コンソールと Chrome コンソールの両方で、JavaScript エラーがスローされたためだと思います。エラー メッセージが表示されます。
クロム
キャッチされていない TypeError: オブジェクトにメソッド 'change' がありません
ファイアフォックス
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 行を超えています)
上記のコードで明らかに間違っていることを誰かが見ることができますか? または、何がこれを引き起こしているのか、誰にもわかりませんか?