以下のコード ブランチでは、「my_theme」選択メニューが変更されたときに、サーバーに対していくつかの $get 呼び出しを行って、選択したテーマのデフォルト カラー オプションとプレビュー イメージを取得しています。このプロセスでは、色が読み込まれる前にユーザーが [変更を適用] ボタンをクリックするのを避けるために、そのボタンを無効に設定し、操作が完了したらリセットします。
ただし、あるインストールでは、何かが明らかに失敗しており、ボタンが無効のままになっています (get 操作に明らかなエラーはありません)。
取得がすべて完了した後に送信ボタンを再有効化するには、これをどのように構成すればよいでしょうか?
$('#my_theme').change
(
function()
{
$("#largePreview").hide();
var myImage = $('#my_theme :selected').val();
var thisOption = $(this);
$('.selectedImage img').attr('src','<?php echo get_bloginfo('template_directory') ?>/styles/'+myImage+'/screenshot.jpg');
$('.selectedImage img').attr('alt',myImage);
try{
$('button.save').attr('disabled','disabled');
$.get('<?php echo get_bloginfo('template_directory') ?>/color.php', {theme: myImage, spot: '1'}, function(data){doColor('#my_theme_header_color', data);});
$.get('<?php echo get_bloginfo('template_directory') ?>/color.php', {theme: myImage, spot: '2'}, function(data){doColor('#my_theme_sidebar_color', data);});
$.get('<?php echo get_bloginfo('template_directory') ?>/color.php', {theme: myImage, spot: '3'}, function(data){doColor('#my_theme_spot_color_alt', data);});
$.get('<?php echo get_bloginfo('template_directory') ?>/color.php', {theme: myImage, spot: '4'}, function(data){doColor('#my_theme_spot_color_alt2', data);});
$.get('<?php echo get_bloginfo('template_directory') ?>/color.php', {theme: myImage, spot: '5'}, function(data){doColor('#my_bg_attach_color', data);});
}
catch(e){
$('button.save').attr('disabled','');
}
$.get('<?php echo get_bloginfo('template_directory') ?>/get-image.php', {template: myImage, action: 'background'}, function(data){
if(data){$('#currentBackgroundImage').attr('src','<?php echo get_bloginfo('template_directory') ?>/styles/'+myImage+'/background.png');}
else{$('#currentBackgroundImage').attr('src','<?php echo get_bloginfo('template_directory') ?>/background-missing.png');}
});
$.get('<?php echo get_bloginfo('template_directory') ?>/get-image.php', {template: myImage, action: 'header'}, function(data){
if(data){$('#currentHeaderImage').attr('src','<?php echo get_bloginfo('template_directory') ?>/styles/'+myImage+'/header.png');}
else{$('#currentHeaderImage').attr('src','<?php echo get_bloginfo('template_directory') ?>/header-missing.png');}
$('button.save').attr('disabled','');
});
});