Если я прав, текст на кнопке и рядом с ней зависит от языка браузера и самого браузера. Текст не может быть изменен.
Однако, используя JS и немного CSS, вы можете скрыть оригинальную кнопку, добавить свою собственную и «перенаправить» нажатие на фальшивую кнопку для фактического ввода файла.
Фрагмент ниже использует ванильный JavaScript и не показывает имя файла.
document.getElementById('fakeButton').addEventListener('click', redirectToFileInput);
function redirectToFileInput () {
document.getElementById('fileInput').click();
}
#fileInput {
display:none;
}
<input type="file" id="fileInput" name="file">
<input type="button" id="fakeButton" value="YourText">
Фрагмент ниже использует jQuery и показывает имя файла после его выбора в окне загрузки.
$(document).on('click', '#fakeButton', function(event) {
event.preventDefault();
$("#fileInput").click();
});
$("#fileInput").change(function(){
$("#fileName").text(" " + $('input[type=file]')[0].files[0].name);
});
#fileInput {
display:none;
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<input type="file" id="fileInput" name="file">
<input type="button" id="fakeButton" value="YourText"><span id="fileName"> No file uploaded.</span>
Редактировать: Более чистое решение для ответа ванильного JavaScript.
#fileInput {
display:none;
}
<input type="file" id="fileInput" name="file">
<input type="button" id="fakeButton" value="YourText" onclick="document.getElementById('fileInput').click();">