10 个答案:
答案 0 :(得分:30)
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;
}
答案 1 :(得分:23)
该按钮不称为“浏览按钮” - 这只是浏览器为其提供的名称。浏览器可以自由地实现文件上传控制,但是他们喜欢。例如,在Safari中,它被称为“选择文件”,它与你可能使用的任何东西相反。
答案 2 :(得分:7)
一些JavaScript会照顾它:
function HandleBrowseClick()
{
var fileinput = document.getElementById("browse");
fileinput.click();
var textinput = document.getElementById("filename");
textinput.value = fileinput.value;
}
不是最好看的解决方案,但它确实有效。
答案 3 :(得分:5)
使用标记包裹;
在标签内添加标签(包含您需要的文字),例如或;
使此标记看起来像一个按钮;
通过input[type="file"]隐藏display: none。
醇>
答案 4 :(得分:3)
您可以使用简单的css / jq解决方法:
创建一个假按钮,触发隐藏的浏览按钮。
HTML
Open
CSS
input { display: none }
的jQuery
$( 'button' ).click( function(e) {
e.preventDefault(); // prevents submitting
$( 'input' ).trigger( 'click' );
} );
答案 5 :(得分:2)
输入类型=“文件”字段非常棘手,因为它在每个浏览器上的行为都不同,无法设置样式,或者可以设置一些样式,具体取决于浏览器;并且很难调整大小(取决于浏览器,它可能具有无法覆盖的最小尺寸)。
但是有一些解决方法。我认为最好的是this one(结果是here)。
答案 6 :(得分:1)
AFAIK你不能改变按钮文本,它在浏览器中是硬编码的。
但是有几种解决方法可以在表单上放置一个带有不同文本/图像的按钮:
答案 7 :(得分:1)
这是使用纯HTML和javascript来“重命名”具有文件类型且没有JQuery的输入文本的最佳,简单,简短和简洁的方法:
*The text you want*
答案 8 :(得分:0)
不,您无法更改文件上传输入的文本。但是有一些技巧可以将图像覆盖在按钮上。
答案 9 :(得分:0)
您还可以使用Uploadify,这是一个很棒的jQuery上传插件,它可以让您上传多个文件,还可以轻松设置文件字段的样式。
http://www.uploadify.com