0

class="profile-pic"画像ソースが変更されたため、ダイアログが閉じる前または閉じたときに更新/リロードされることを望んでいます。

これは私のコードです:

$('.change-profile-pic').click(updateProfilePicture);
function updateProfilePicture(){
    $('#dialog').dialog({
        resizable:false,
        modal:true,
        width:225,
        buttons: {
            'Upload':function(){
                $('#upload-image').ajaxForm({ 
                        target: '.new-profile-pic'
                }).submit();
            },
            'Done':function(){
                $.ajax({
                    url: 'update-profile-pic.php',
                    type: 'post',
                    data: { file_path: $('.new-profile-pic img').attr('src') },
                    success: function(data) {
                        if(data == 'Success'){
                            $('#dialog').dialog('close');
                        }
                    }
                });
            }
        }
    });

HTML 再ロードする:

<p class="profile-pic ">
                    <a href="#"><img class="change-profile-pic ui-corner-all" src="<?php echo $user['user_profile_path']; ?>" alt=""></a>
                </p>

HTML フォーム:

<div title="Change profile picture" id="dialog" class="dialog-change-profile-pic">
            <div class="new-profile-pic">

            </div>
            <form id="upload-image" enctype="multipart/form-data" action="upload-image.php" method="post">
                <input type="hidden" name="MAX_FILE_SIZE" value="100000">
                <input class="profile-pic-name" name="uploadedfile" type="file">
            </form>
        </div>
4

2 に答える 2

1

close イベントが発火するとすぐに発火する close イベント関数を作成できます。

<p class="profile-pic ">
                    <a href="#"><img class="change-profile-pic ui-corner-all" src="<?php echo $user['user_profile_path']; ?>" alt=""></a>
                </p>

close: function(event, ui) { 
    // Change the src attribute here with the newer source.. That should do 
 }

beforeClose イベントを使用することもできます

beforeClose: function(event, ui) { 

}
于 2012-09-24T08:45:21.870 に答える
0

画像の src が PHP タグでラップされているのはなぜですか? それは単なる静的 HTML ではないでしょうか? お使いのブラウザには画像がキャッシュされている可能性が高いため、サーバー側で画像が変更され、それをリロードしたいだけの場合は、次のようにすることができます

$('.goButton').click(function() {
    $('#loadThis' img)[0].src = 'resources/default-male.png?' + Math.random();
});
于 2012-09-24T08:46:56.163 に答える