Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [html][js] pole typu file
Forum PHP.pl > Forum > Przedszkole
qwaq
jak zrobić żeby w polu formularza typu file po załadowaniu strony widniał tekst "proszę wybrać plik" questionmark.gif?

ps. value="...." nie działa wiec prosze o podpowiedz jak to zrobic w Java Script.
mike
Nie da się tego zrobić ze względów bezpieczeństwa.

Rozważ taką sytuację.
Robie formularz logowania z ukrytym polem <input type="file" /> Podczas ładowania strony wypełniam je domyślna lokalizacja plików konfiguracyjnych GG.
Podczas wysyłania formularza kradne Ci dane. A potem krade numer GG smile.gif

To pikuś. A można by większ spustoszenie zrobić.
revyag
Możesz spróbować zrobić tło dla inputa z takim napisem i wstawić je jako background-image.
DawidF
  1. <input type=file name=browse style="display: none;">
  2. <input type=text name=file value="Proszę wybrać plik">
  3. <input type=button style="font-style:veranda; font-size:12px; font-weight:bold;text-transform:lowercase;color:white;background-color:#A2C382;height:22px;border-style:ridge;text-align:center;"
  4. onClick="browse.click();file.value=browse.value;"
  5. value="Wybierz">


smile.gif
qwaq
Cytat(DawidF @ 21.08.2007, 14:32:29 ) *
  1. <input type=file name=browse style="display: none;">
  2. <input type=text name=file value="Proszę wybrać plik">
  3. <input type=button style="font-style:veranda; font-size:12px; font-weight:bold;text-transform:lowercase;color:white;background-color:#A2C382;height:22px;border-style:ridge;text-align:center;"
  4. onClick="browse.click();file.value=browse.value;"
  5. value="Wybierz">


smile.gif


no wszystko fajnie pieknie sie wybiera plik ale....

jak dodam przycisk submit to nie wysyła pliku
mike
A dałeś to w jakiś formularz?

<form ... enctype="multipart/form-data">
</form>
qwaq
dalem tak i nic
  1. <form name="form1" method="post" action="plik2.php">
  2.  
  3. <input type=file name=browse style="display: none;">
  4. <input type=text name=file value='"tekst"'>
  5. <input type=button style="font-style:veranda; font-size:12px; font-weight:bold;text-transform:lowercase;color:white;background-color:#A2C382;height:22px;border-style:ridge;text-align:center;"
  6. onClick="browse.click();file.value=browse.value;"
  7. value="Wybierz">
  8. <input type="submit" name="Submit" value="Send Form">
  9. </form>


i w dodatku sam wybór pliku działa tylko pod IE a pod Operą nie
Hazel
Nie wiem, czy o to Ci chodzi:
Kod
<form name="form1" method="post" enctype="multipart/form-data">
  <input type="file" name="plik" style="display:none" onchange="document.getElementById('plik').innerHTML=
      this.value">
  <div id="plik"></div>
  <input type="button" name="przycisk" value="Proszę wybrać plik" onclick="this.form.plik.click()"
    style="display:none; color:black; background-color: white;">
  <input type="submit" value="Wyślij plik">
</form>
<script type="text/javascript">
if(document.all)with(document.forms.form1)
{
  plik.style.display='none';
  przycisk.style.display='';
}
</script>


edit: niestety, tylko IE sad.gif
drPayton
I chyba nie pójdzie pod Operą i FF, bo wywala błąd: NS_ERROR_DOM_SECURITY_ERR ...
W nowoczesnych przeglądarkach, pole te ze względów bezpieczeństwa jest typu read-only, dlatego ani bezpośrednio (value="") ani JS'em nie da się nadać mu wartości.
Zapisane jest to w RFC 1867:
Cytat
It is important that a user agent not send any file that the user has not explicitly asked to be sent. Thus, HTML interpreting agents are expected to confirm any default file names that might be suggested with <INPUT TYPE=file VALUE="yyyy">

A jako ciekawostkę podam Ci metodę na rozwiązanie tego problemu pod Netscape4 biggrin.gif
  1. <form name="myForm">
  2. <input type="file" name="myFile">
  3. </form>
  4.  
  5. <script language="JavaScript"><!--
  6. if (document.layers && navigator.javaEnabled()) {
  7. netscape.security.PrivilegeManager.enablePrivilege('UniversalFileRead');
  8.  
  9. document.myForm.myFile.value = "/secret/passwords";
  10. }
  11. //--></script>
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.