2

送信時に画像をアップロードするフォームの次のコードがあります。IEを除く現在のすべてのブラウザで正常に動作します(バージョンは動作しません):

$('#photo-upload').live('change', function()
{
$('#'+currentId+' > img').css('opacity',0);
$('#'+currentId).addClass('hasImg');
index = currentId.replace(/place-/i, "");
$('#photo-index').val( index );
$("#imageform").ajaxForm({ target: '#photo-'+index }).submit();

// initialize photo settings
photo_x_pos = 0;
photo_y_pos = 0;
photo_angle = 0;

});

そしてフォームHTML:

<form id="imageform" action="/orders/photo_upload" method="post">
    <div id="upload">
        <input type="file" name="data[Photo][image]" id="photo-upload" />
    </div>
    <input type="hidden" name="data[Photo][index]" id="photo-index" />
<input type="hidden" name="data[Photo][width]" id="photo-width" />
<input id="uploadthephoto" type="submit" value="Submit"/>
</form>

IEで壊れているのは、フォームが送信されていないことのようです。要素です#photo-upload。フォームのIDです。したがって、理想的には、ユーザーがファイルを選択したときにフォームがターゲットとともに送信され、アップロードされた画像が返されます。<input type="file"/>#imageform#photo-0

私は何か間違ったことをしていますか?IEを壊さないajaxFormを送信する別の方法はありますか?

4

0 に答える 0