2011-03-12 46 views
1

我創建了一個圖片上傳控件,但是我對它的外觀並不滿意。我只想顯示的按鈕不是按鈕左邊的文本框。有沒有什麼辦法可以使用普通的按鈕控件或linkbutton控件來打開文件對話框。Asp.net C#上傳控件

回答

1

我得到這個簡單的例子在Firefox 4個工作,IE6和IE9但遺憾的是它並沒有在Chrome 10

<script type="text/javascript"> 
    $(document).ready(function() { 
     var cnt = 1; // for interfering id's 
     $('#upload').click(function() { 

      // adds a new file-browser upload control and calls the AppendFilesToList with file information 
      $("#files").append("<input type=\"file\" id=\"fileupload" + cnt + "\" onchange=\"javascript:AppendFilesToList(this.value);\" style=\"display:none;\" />"); 
      document.getElementById("fileupload" + cnt).click(); // calls the browsers file-upload dialog 

      cnt++; 
     }); 
    }); 
    // appends file information to a div 
    function AppendFilesToList(evt) { $("#listfiles").append(evt + "<br/>"); } 
</script> 

<div id="files"></div> 
<div id="listfiles"></div> 

<br /> 

<input type="button" id="upload" value="Select files" /> 

你可以工作,但是,看看這些崗位約造型的:http://www.shauninman.com/archive/2007/09/10/styling_file_inputs_with_css_and_the_domhttp://www.quirksmode.org/dom/inputfile.html

+0

我試過了,它在Firefox中有效,但它在Opera或Safari中都不起作用。但基本上我只是想讓它適用於Firefox。謝謝! –

1

呈現方式<input type="file" />取決於您使用的瀏覽器。查看this post,談論如何使它統一,但隱藏實際的渲染和擁有自己的。

2

瀏覽器對控制上傳輸入的樣式非常有限制,以嘗試並減輕欺騙用戶可能造成的損害。

這就是說,你可以做類似於你的要求,但你也必須考慮到,每個瀏覽器將上傳按鈕放在不同的位置,你會通過在這裏放置隱藏的元素或那裏和所有瀏覽器的外觀/功能可能不一致。

This article有一些您正在查找的信息。