0

ページにuploadtargetのIDを持つiframeがあります。

<iframe id="uploadTarget" name="uploadTarget" src="" ></iframe>

私のjsでは、フォームターゲットをiframeに設定しました

$('#myForm').submit(function() {
        this.target = 'uploadTarget';
        document.getElementById("uploadTarget").onload = uploadDone; 
    });

これはIE7および8では機能しません。

なぜ何かアイデアはありますか?

4

1 に答える 1

1

まず、jQueryを通常のJavaScriptと混合しています。使用する

$('#uploadTarget').load(uploadDone);

それ以外の

document.getElementById("uploadTarget").onload = uploadDone; 

きちんとしたコードを取得します。

2番目:<form>私の推測では、フォームが送信される と、IEではターゲットを変更できなくなります。送信を中止し、変更後にプログラムでフォームを再送信すると、機能する場合がtargetあります。

$('#myForm').submit(function(event) {
    if($(this).attr('target')!=='uploadTarget'){
       $(this).attr('target','uploadTarget');

       event.preventDefault();

       this.submit();//Now submit the form. This should call this function again.
    }else{
       $('#uploadTarget').load(uploadDone);
    }
});
于 2012-06-19T14:48:13.950 に答える