我似乎找不到任何方法来删除“未选择文件”文本,该文本显示在输入类型“文件”旁边。你们知道怎么删除这段文字吗
sczxawaw1#
input[type='file'] { color: transparent; }
好好享受
gv8xihay2#
没有跨浏览器的方式来做到这一点。“no file selected”文本是在widget的实现定义部分,我不相信大多数浏览器提供了很多特定于浏览器的自定义方式。另一方面,当value属性为空时,您可以简单地使用CSS来覆盖文本。
af7jpaap3#
您可以通过定义输入的宽度并隐藏超出的内容(不需要的“No file selected”文本)来完成此操作。
input { width: 132px; overflow:hidden; }
Here is the demonstration on jsfiddle。注意:每种语言都有自己的默认文本,它可能会呈现不同的输入大小。In brazilian portuguese 132 px宽度是好的!我的答案是基于this similar question on stackoverflow。
qrjkbowd4#
您可以使用带有此问题答案的按钮替换文件字段:不带输入字段的文件上传按钮?
mf98qq945#
CSS <style> #image_file{ position: relative; width: 188px; border: 1px solid #BBB; margin: 1px; cursor: pointer; float: left; } </style> HTML <input id="image_file" onclick="getFile()" onfocus="this.blur()" value=""/> <div style='height: 0px;width: 0px; overflow:hidden;'> <input type="file" id="PinSpot_file"> </div> <input type="button" onclick="getFile()" style="background-color: #DDD;" value="Browser" > JAVASCRIPT function getFile(){ document.getElementById("PinSpot_file").click(); } // Event when change fields $('#PinSpot_file').live('change', function(e) { var file = this.value; var fileName = file.split("\\"); document.getElementById("image_file").value = fileName[fileName.length-1]; //AJAX }
vlju58qv6#
这是一个非常好的黑客和它的很多清洁。
超文本标记语言
<div id="file_info' style='display:inline;'>Browse</div> <input type="file" name='file[]' multiple style='opacity: 0;' onchange='displayFileName()'/>
JS
function displayFileName() { var files = $('input[type="file"]')[0].files; document.getElementById('file_info').innerHTML = files.length + " images to upload";` }
euoag5mw7#
好吧,因为没有办法完全禁用文本,我建议要么在文本上放置一个元素,要么尝试以下解决方案。
CSS
input[type="file"] { width: 90px; /* Keep it under 100px in order to hide the unwanted text. */ }
并向元素添加一个html inline-title属性,以隐藏“No File Chosen”悬停文本。
<input type="file" id="FileId" title="">
或者,你可以用JavaScript来完成这一切。
document.addEventListener('DOMContentLoad', myFunction); function myFunction() { const FilePicker = document.getElementById('FileId'); FilePicker.style.width = "90px"; FilePicker.title = ""; // Leave This Empty }
ef1yzkbh8#
我认为你不能。你可以使用css来隐藏标签“没有文件选择”通过减少输入文件控制的宽度。我已经使用下面的代码来为自己做
CSS代码
input[type=file] { width: 93%; }
dly7yett9#
你可以试试这个。它的工作为我火狐浏览器
<style type=""> input[type='file'] { color: transparent; } </style>
9条答案
按热度按时间sczxawaw1#
好好享受
gv8xihay2#
没有跨浏览器的方式来做到这一点。“no file selected”文本是在widget的实现定义部分,我不相信大多数浏览器提供了很多特定于浏览器的自定义方式。另一方面,当value属性为空时,您可以简单地使用CSS来覆盖文本。
af7jpaap3#
您可以通过定义输入的宽度并隐藏超出的内容(不需要的“No file selected”文本)来完成此操作。
Here is the demonstration on jsfiddle。
注意:每种语言都有自己的默认文本,它可能会呈现不同的输入大小。In brazilian portuguese 132 px宽度是好的!
我的答案是基于this similar question on stackoverflow。
qrjkbowd4#
您可以使用带有此问题答案的按钮替换文件字段:不带输入字段的文件上传按钮?
mf98qq945#
vlju58qv6#
这是一个非常好的黑客和它的很多清洁。
超文本标记语言
JS
euoag5mw7#
好吧,因为没有办法完全禁用文本,我建议要么在文本上放置一个元素,要么尝试以下解决方案。
CSS
并向元素添加一个html inline-title属性,以隐藏“No File Chosen”悬停文本。
超文本标记语言
或者,你可以用JavaScript来完成这一切。
JS
ef1yzkbh8#
我认为你不能。你可以使用css来隐藏标签“没有文件选择”通过减少输入文件控制的宽度。我已经使用下面的代码来为自己做
CSS代码
dly7yett9#
你可以试试这个。它的工作为我火狐浏览器