如何将浏览按钮重命名为“选择文件”? E.g:
<input type=file name=browse >
答案 0 :(得分:30)
<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();"/>
答案 1 :(得分:23)
该按钮不称为“浏览按钮” - 这只是浏览器为其提供的名称。浏览器可以自由地实现文件上传控制,但是他们喜欢。例如,在Safari中,它被称为“选择文件”,它与你可能使用的任何东西相反。
您可以使用the technique outlined on QuirksMode为上传控件实现自定义外观,但这不仅仅是更改按钮的文本。
答案 2 :(得分:7)
一些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();"/>
不是最好看的解决方案,但它确实有效。
答案 3 :(得分:5)
<input type="file">
标记包裹<label>
; <span>
或<a>
; input[type="file"]
隐藏display: none
。答案 4 :(得分:3)
您可以使用简单的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' );
} );
答案 5 :(得分:2)
输入类型=“文件”字段非常棘手,因为它在每个浏览器上的行为都不同,无法设置样式,或者可以设置一些样式,具体取决于浏览器;并且很难调整大小(取决于浏览器,它可能具有无法覆盖的最小尺寸)。
答案 6 :(得分:1)
答案 7 :(得分:1)
这是使用纯HTML和javascript来“重命名”具有文件类型且没有JQuery的输入文本的最佳,简单,简短和简洁的方法:
<input id='browse' type='file' style='width:0px'>
<button id='browser' onclick='browse.click()'>
*The text you want*
</button>
答案 8 :(得分:0)
不,您无法更改文件上传输入的文本。但是有一些技巧可以将图像覆盖在按钮上。
答案 9 :(得分:0)
您还可以使用Uploadify,这是一个很棒的jQuery上传插件,它可以让您上传多个文件,还可以轻松设置文件字段的样式。 http://www.uploadify.com