07. december 2021 - 15:04Der er
4 kommentarer og 1 løsning
FileUpload kontrol: 'Der er ikke valgt nogen fil'
Jeg vil gerne have brugeren til at bruge denne kontrol som følger:
1/ Vælg en billedfil 2/ Open 3/ Bruge en Gem-knap som jeg selv står for 4/ Brugeren får en bekræftelse på, at filen er gemt
Og der er her, at teksten 'Der er ikke valgt nogen fil' dukker op og det virker forvirrende for brugeren, da billedet jo netop er gemt.
Mit spørgsmål er: kan man slukke/styre visningen af teksten 'Der er ikke valgt nogen fil'? Jeg kan ikke finde denne tekst i tags til FileUpload-kontrollen, så det virker som en 'indbygget tekst'?
Her er HTML tages: <asp:FileUpload ID="FileUploadSS" runat="server" AllowMultiple="False" Width="325px" /> <asp:Button ID="btnGemBillede" runat="server" Text="Gem billedet" Width="139px" Font-Size="12pt" />
Og codebehind: Protected Sub btnGemBillede_Click(sender As Object, e As EventArgs) Handles btnGemBillede.Click If FileUploadSS.HasFiles Then FileUploadSS.SaveAs(Server.MapPath("Uploads/" & FileUploadSS.FileName.ToString)) lblInfo.Text = "Gem udført" Else lblInfo.Text = "Der er ikke valgt en fil, der skal gemmes" End If lblInfoForstørrelse.Visible = True Image1.ImageUrl = "~/Uploads/" & FileUploadSS.FileName.ToString End Sub
Det er så nu, når jeg meddeler brugeren, at 'Gem udført', så toner 'Der er ikke valgt nogen fil' frem og det virker meget forvirrende på en bruger af vores system.
Selve teksten 'Der er ikke valgt nogen fil' kan skjules ved at give FileUpload-kontrollen samme farve som baggunden, dvs. man kan så kun se knappen. Denne metode virker fint på Apple/Safari for når man vælger et billede, så vises en thumbnail af billedet ved siden af FileUpload-kontrollen. På Android og Windows vises dog ingenting, når man har valgt et billede og det er jo ikke særlig informativt.
En løsning på dette er: Læg onClientClick="JusterFileUploadTekst()" på FileUpload-knappen og tænd for teksten med JavaScript, når der klikkes på vælg fil:
<%--Hjælpetekst vises i <p></p> tag, når der klikkes på 'vælg fil'--%> <script 'text/javascript'> document.getElementById("FileUploadSS").addEventListener("click", VisTekster); function VisTekster() { document.getElementById("UploadTekst").innerHTML = "<i>Husk</i> at gemme billedet", document.getElementById("FileUploadSS").style.color = "yellow" } </script>
Dette giver også mulighed for en ekstra lille info-tekst.
Denne løsning synes jeg virker ok.
Synes godt om
Ny brugerNybegynder
Din løsning...
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.