0

DOJO1.8.0では本当に奇妙な動作が見られます。ファイルを非同期でアップロードしようとしています。ファイルは正常にアップロードされており、期待どおりにペイロードを取得していますが、送信ボタンをクリックすると、タグとその間のすべてが不可解に削除されます。それはただ消えます。(注:このテストをテストページに分離したので、それを説明するものは他にありません。コード全体を見ていることになります。)

require(['dojox/form/Uploader',
     "dojo/request/iframe",'dojo/dom','dojo/on',
     'dojox/form/uploader/plugins/IFrame', 'dojo/domReady!'],
    function(Uploader,iframe,dom,on){

    on(dom.byId("myButton"), "click", function(){
        iframe.post("UploadFile.php",{
            form: dom.byId("myForm"),
            handleAs: "json"
            }).then(function(data){
                console.log(data);
            }, function(err){}
    );
});


<form method="post" id="myForm" enctype="multipart/form-data" >
    <input name="uploadedfile" type="file" data-dojo-type="dojox.form.Uploader"
    label="Select Some Files" id="uploader" />

    <input id="myButton" type="button" value="Submit" />
</form>

DOJO 1.8の経験がある人からのアイデアはありますか?私はバージョン1.6から1.7で/dojo/ io/iframeを問題なく使用しています。これは、新しい/ dojo / request/iframeコードを使用した1.8でのみ発生し始めました。

4

2 に答える 2

0

http://jsfiddle.net/seeds/XD4Dc/1/を参照してください

form要素は、dojoの挿入されたiframeのターゲットを持つように設定されています。次に、フォームは、abs位置-1000上/左の「dijitHidden」のようになります。なぜtbhを見ることができません。フィドルに修正があり、コールバックに追加します。

with(dom.byId("myForm").style) {
       position = "";
       left = "";
       top = "";
}
于 2012-09-03T09:01:08.897 に答える
0

この問題をDOJO-Interestグループに持ち込みましたが、DOJO1.8.0にバグがあることがわかりました。今後の1.8.1リリースで修正される予定です。

http://bugs.dojotoolkit.org/ticket/15939

バグレポートから:

フォームが「食べられる」のではなく、フォームがDOMにあるかどうかを確認するためのロジックに問題があるため、フォームに位置が設定されてビューポートから移動していました。これは修正されており、1.8.1にあるはずです。

于 2012-09-12T15:28:50.547 に答える