<input type="file" value="Browse" name="avatar" id="id_avatar" />
Ik heb geprobeerd om de waarde
aan te passen, maar het's niet werken. Hoe pas ik de tekst van de knop aan?
Je kunt er een plaatje voor in de plaats zetten, en het zo doen:
HTML:
<img src="/images/uploadButton.png" id="upfile1" style="cursor:pointer" />
<input type="file" id="file1" name="file1" style="display:none" />
JQuery:
$("#upfile1").click(function () {
$("#file1").trigger('click');
});
CAVEAT: In IE9 en IE10 als je de onClick in een bestandsinvoer via javascript triggert, wordt het formulier gemarkeerd als 'dangerous' en kan het niet worden ingediend met javascript, niet zeker of het traditioneel kan worden ingediend.
De "upload bestand..." tekst is voorgedefinieerd door de browser en kan niet worden veranderd. De enige manier om dit te omzeilen is het gebruik van een Flash- of Java-gebaseerde upload component zoals swfupload.
EDIT: Ik zie nu aan de opmerkingen dat je vraagt naar de tekst van de knop, en niet naar het bestandspad. Mijn fout. Ik laat mijn oorspronkelijke antwoord hieronder voor het geval iemand anders die op deze vraag stuit, het op dezelfde manier interpreteert als ik oorspronkelijk deed.
2e EDIT: Ik had dit antwoord verwijderd omdat ik besloot dat ik de vraag verkeerd had begrepen en mijn antwoord niet relevant was. Echter, opmerkingen in een ander antwoord gaven aan dat mensen dit antwoord nog steeds wilden zien, dus ik'ben het ongedaan aan het maken.
MIJN OORSPRONKELIJKE ANTWOORD (Ik dacht dat het OP vroeg naar het pad, niet de knoptekst):
Dit is geen ondersteunde functie om veiligheidsredenen. De Opera web browser ondersteunde dit vroeger, maar het werd verwijderd. Bedenk wat er mogelijk zou zijn als dit ondersteund zou worden; Je zou een pagina kunnen maken met een bestand upload ingang, deze vooraf vullen met een pad naar een gevoelig bestand en dan het formulier automatisch verzenden met behulp van javascript getriggerd door de onload
gebeurtenis. Dit zou te snel gebeuren voor de gebruiker om er iets aan te doen.