0

我想在 html 中添加输入以上传图像我的问题是按钮旁边显示了一条消息,我想删除它我该怎么做?此链接显示我的问题:

<input type='file'></input>

http://jsfiddle.net/c3sda/2/

我还想将按钮上的文字从浏览更改为其他内容,这可能吗?

4

1 回答 1

0

没有跨浏览器的方法可以做到这一点。“未选择文件”文本位于小部件的实现定义部分中,我不相信大多数浏览器都提供了太多特定于浏览器的自定义方式。另一方面,当 value 属性为空时,您可以简单地使用 CSS 来覆盖文本。

但是,您可以查看下面给出的演示链接。它可能会帮助你。

Big button (not hidden so you can see what's going on)
<div class="inputWrapper" style="height: 48px; width: 128px;">
    <input class="fileInput" type="file" name="file1"/>
</div><br/>

Big button (file input is hidden)
<div class="inputWrapper" style="height: 56px; width: 128px;">
    <input class="fileInput hidden" type="file" name="file2"/>
</div><br/>

Medium button (this one has text)
<div class="inputWrapper" style="height: 48px; width: 96px;">
    Upload File
    <input class="fileInput hidden" type="file" name="file3"/>
</div><br/>

Smaller button
<div class="inputWrapper" style="height: 24px; width: 24px;">
    <input class="fileInput hidden" type="file" name="file4"/>
</div>

Javascript:

/你可以使用一些 jQuery 通过更改背景颜色/图像、字体大小/粗细/颜色等来模拟按钮按下效果。/

$(function() {
    $(".inputWrapper").mousedown(function() {
        var button = $(this);
        button.addClass('clicked');
        setTimeout(function(){
            button.removeClass('clicked');
        },50);
    });
});

的CSS:

.inputWrapper {
    overflow: hidden;
    position: relative;
    cursor: pointer;
    /*Using a background color, but you can use a background image to represent a button*/
    background-color: #DDF;
}

.fileInput {
    cursor: pointer;
    height: 100%;
    position:absolute;
    top: 0;
    right: 0;
    /*This makes the button huge so that it can be clicked on*/
    font-size:50px;
}
.hidden {
    /*Opacity settings for all browsers*/
    opacity: 0;
    -moz-opacity: 0;
    filter:progid:DXImageTransform.Microsoft.Alpha(opacity=0)
}


/*Dynamic styles*/
.inputWrapper:hover {
    background-color: #FDD;
}
.inputWrapper.clicked {
    background-color: #A66;
}


body {
    font-family:Helvetica;
}

否则只需检查演示..

演示

于 2013-07-23T12:46:44.957 回答