2012-12-17 71 views
0

工作我使用uploadify FileUpload控件在我MVC3應用。按鈕亙古不變的jQuery的對話框

我看到jQuery對話框非常奇怪的行爲。

我在我看來,使用flash Browse按鈕。點擊該按鈕後,將顯示所有要瀏覽和上載所選文件並上傳的目錄。

起初,我已經試過沒有jQuery的對話框。它工作完美,並上傳文件,並能夠取消所有瀏覽器中的文件。

當我使用容器在jQuery對話框中呈現時,Browse按鈕顯示在Firefox中,但我無法點擊該按鈕,它在IE和Chrome中可以正常工作,但它無法取消上傳鉻。

這裏是我的代碼:

HTML代碼在我看來:

<input type="button" id="btnImg"/> 
    <div id="fileupload"> 
     <div style="clear: none;"> 
      File to Upload: 
      <input type="file" name="file_upload" id="file_upload" style="padding-left: 50px;"/><hr /> 
     </div> 
     <p style="text-align: right;"> 
      <input type="submit" id="selectimage" value="Ok" class="ui-button ui-widget ui-state-default ui-corner-all ui-button-text-only"/> 
      <input type="submit" id="cancelimage" value="Cancel" class="ui-button ui-widget ui-state-default ui-corner-all ui-button-text-only" onclick="cancelupload();" /> 
     </p> 
    </div> 

Javascript代碼:

$("#btnImg").click(function() { 
    $("#fileupload").dialog({ 
     width: '511', 
     height: '200', 
     show: "blind", 
     position: [300, 500] 
    }); 
}); 

當點擊btnImg,在彈出的提高。

如何解決這個問題?這怎麼發生的 ?

+1

你用的是firefox(17)嗎?最近我還體驗到我無法點擊任何表單元素。重新啓動Firefox後,它恢復正常,但時常發生。 – Codebeat

+0

是的,我使用Firefox 17 –

回答

0

我能解決我的問題。

以下是解決方案。

$("#btnImg").click(function() { 
      $("#fileupload").css("visibility", "visible"); 
      $("#fileupload").dialog({ 
       width: '511', 
       height: '200', 
       modal:true, 
       //show: "blind", 
       position: [300, 500], 
       open: function (type, data) { 
        $(this).parent().appendTo("form"); 
       } 
      }); 
     }); 

問題是我的div不在form標記內。所以,如果沒有嵌套在form標籤中,jQuery會忽略窗口上傳。

0

你很可能必須要麼使用實時()函數將click處理程序綁定到該按鈕,或者你必須在調用對話框()的DIV正在製作的對話框單擊處理程序綁定框。

此外,你使用「btnImg」作爲ID,但是我沒有看到在上面的HTML任何使用,作爲一個ID。這是一個錯字,還是我們只是沒有看到

+0

不,這對我不起作用 –