2012-09-01 44 views
0

我在DOJO 1.8.0下看到了一個非常奇怪的行爲。我試圖異步上傳一個文件。該文件上傳得很好,我得到了預期的有效載荷,但是當點擊提交按鈕時,標籤之間的所有內容都是莫名其妙的已刪除!它只是消失。 (注:我這個孤立的測試,以測試頁,所以沒有什麼別的在作怪,將佔到它你看代碼的全部。)DOJO 1.8/dojo/request/iframe正在刪除<form></form>上傳文件時

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代碼的情況下才會發生。

回答

0

我把這個問題道場利益集團,它被認爲是錯誤使用Dojo 1.8.0。它將在即將發佈的1.8.1版本中得到修復。

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

從錯誤報告:

形式沒有得到「吃掉」,而是位置是越來越設置就可以了,並移出視的,因爲一些錯誤的邏輯來檢查表單是否在DOM中。這已經被修復,應該在1.8.1。

0

http://jsfiddle.net/seeds/XD4Dc/1/

的表單元素被設置成具有道場的注入的iframe的目標。然後表單會變成像'dijitHidden'一樣的abs位置-1000頂部/左側。不能明白爲什麼tbh。 有一個在提琴修復,添加到您的回調:

with(dom.byId("myForm").style) { 
     position = ""; 
     left = ""; 
     top = ""; 
} 
+0

感謝身邊的工作,雖然我同意你的看法,我真的不明白爲什麼道場1.8的iframe的行爲這種方式。雖然回調將在孤立的腳本中起作用,但在當前項目中不起作用。我寧願不回去使用1.7代碼庫,因爲DOJO已經宣佈他們的上傳器函數正在被重構到他們的2.0代碼庫中。在短期內,除非我能弄清楚爲什麼我們會看到這種行爲,否則我可能不得不引入第三方上傳功能作爲解決方案,直到DOJO功能解決。 –

相關問題