回答
按鈕不叫「瀏覽按鈕」 - 這只是你的瀏覽器提供的名字爲了它。不管他們喜歡,瀏覽器都可以自由地實現文件上傳控制。例如,在Safari中,它被稱爲「選擇文件」,它與您可能使用的任何對象相反。
您可以使用the technique outlined on QuirksMode實現上傳控件的自定義外觀,但這不僅僅是更改按鈕的文本。
不,您不能更改文件上傳輸入的文本。但是在按鈕上覆蓋圖片還有一些技巧。
你也可以使用uploadify,這是一個很棒的jQuery上傳插件,它可以讓你上傳多個文件,也可以很容易地設置文件的樣式。 http://www.uploadify.com
JavaScript的一個位將照顧它:
<script language="JavaScript" type="text/javascript">
function HandleBrowseClick()
{
var fileinput = document.getElementById("browse");
fileinput.click();
var textinput = document.getElementById("filename");
textinput.value = fileinput.value;
}
</script>
<input type="file" id="browse" name="fileupload" style="display: none"/>
<input type="text" id="filename" readonly="true"/>
<input type="button" value="Click to select file" id="fakeBrowse" onclick="HandleBrowseClick();"/>
不是最好看的解決方案,但它的工作原理。
如果JS不可用,這將完全無法使用。 (HTML也是無效的)。 – Quentin 2009-07-22 08:50:43
@David Dorwad:感謝您指出顯而易見(當JS不可用時JS不工作)。然而,真實世界的情況是非常罕見的。 此外,我並不打算讓任何人盲目地複製和粘貼這個並馬上使用它,它的目的是作爲一個指針來展示實現目標的一種可能方式。但是,嘿,謝謝你阻止我再次發帖。 – korona 2009-07-22 09:13:30
問題是,如果JS不可用,HTML不起作用。一個體面的書面解決方案會優雅地退化,而不會回落到一個沒有任何按鈕的位置。 – Quentin 2009-07-22 13:22:38
<script language="JavaScript" type="text/javascript">
function HandleBrowseClick()
{
var fileinput = document.getElementById("browse");
fileinput.click();
}
function Handlechange()
{
var fileinput = document.getElementById("browse");
var textinput = document.getElementById("filename");
textinput.value = fileinput.value;
}
</script>
<input type="file" id="browse" name="fileupload" style="display: none" onChange="Handlechange();"/>
<input type="text" id="filename" readonly="true"/>
<input type="button" value="Click to select file" id="fakeBrowse" onclick="HandleBrowseClick();"/>
你可以用一個簡單的CSS/JQ解決方法做到這一點: 創建一個假的按鈕觸發的瀏覽按鈕被隱藏。
HTML
<input type="file"/>
<button>Open</button>
CSS
input { display: none }
jQuery的
$('button').click(function(e) {
e.preventDefault(); // prevents submitting
$('input').trigger('click');
});
- 總結帶有
<label>
標籤的<input type="file">
; - 在標籤內部添加一個標籤(包含您需要的文本),如
<span>
或<a>
; - 使此標記看起來像一個按鈕;
- 通過
display: none
使input[type="file"]
隱形。
- 1. 我看不到輸入文件類型中的瀏覽按鈕
- 2. 隱藏輸入類型=文件的瀏覽按鈕
- 3. 在Firefox中調整輸入類型=「文件」瀏覽按鈕?
- 4. 如何重命名Html.TextBox中的「瀏覽」按鈕
- 5. 如何更改輸入類型='文件'和xtype ='textfield'的'瀏覽'按鈕的名稱
- 6. 如何在瀏覽器上重命名預覽pdf文件名
- 7. 如何從jQuery文件輸入html元素中選擇「瀏覽」按鈕?
- 8. 樣式輸入類型文件按鈕
- 9. 如何重命名jsGrid按鈕類
- 10. HTML輸入類型= Adobe AIR中的文件不存在文件瀏覽器
- 11. 如何在輸入文件類型的文本框和瀏覽按鈕之間添加空格
- 12. 輸入文件按鈕突出「瀏覽...」文本
- 13. 所有瀏覽器的文件輸入按鈕,這可能嗎?
- 14. 隱藏文件輸入內的瀏覽按鈕
- 15. 輸入文件與交叉瀏覽簡單的按鈕外觀
- 16. Javascript專注於文件輸入的瀏覽按鈕
- 17. 如何捕獲瀏覽按鈕的文件名?
- 18. 爲什麼很難設計着名的瀏覽按鈕(文件輸入)?
- 19. 如何在輸入類型=文件按鈕上應用樣式
- 20. 如何將Ionic輸入類型文件設置爲按鈕
- 21. 如何設計輸入類型=「文件」按鈕?
- 22. 要製作相同大小的html輸入按鈕和上傳的文件控件瀏覽按鈕
- 23. IE不允許自定義瀏覽按鈕輸入文件?
- 24. 國際化輸入文件上傳瀏覽按鈕
- 25. 如何將此html按鈕鏈接到輸入類型「文本」,以便當我按下輸入類型的輸入時,該按鈕被激活?
- 26. html垂直對齊輸入類型按鈕內的文本
- 27. 在Firefox中操縱html輸入類型文件的文件名
- 28. html輸入按鈕文本
- 29. 如何重新命名輸入文本
- 30. 如何將html輸入類型按鈕名稱值傳遞給jsp函數
[如何更改?]按鈕文本的可能副本(http://stackoverflow.com/questions/1944267/how-to-change-the-button-輸入文本類型文件) – Alex 2016-02-08 15:15:25