Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [html][js] pole typu file
qwaq
post
Post #1





Grupa: Zarejestrowani
Postów: 162
Pomógł: 1
Dołączył: 15.05.2007
Skąd: Łódź

Ostrzeżenie: (0%)
-----


jak zrobić żeby w polu formularza typu file po załadowaniu strony widniał tekst "proszę wybrać plik" (IMG:http://forum.php.pl/style_emoticons/default/questionmark.gif) ?

ps. value="...." nie działa wiec prosze o podpowiedz jak to zrobic w Java Script.
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 8)
mike
post
Post #2





Grupa: Przyjaciele php.pl
Postów: 7 494
Pomógł: 302
Dołączył: 31.03.2004

Ostrzeżenie: (0%)
-----


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 (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)

To pikuś. A można by większ spustoszenie zrobić.
Go to the top of the page
+Quote Post
revyag
post
Post #3





Grupa: Przyjaciele php.pl
Postów: 2 258
Pomógł: 16
Dołączył: 21.09.2004
Skąd: Kielce

Ostrzeżenie: (0%)
-----


Możesz spróbować zrobić tło dla inputa z takim napisem i wstawić je jako background-image.
Go to the top of the page
+Quote Post
DawidF
post
Post #4





Grupa: Zablokowani
Postów: 120
Pomógł: 2
Dołączył: 4.11.2004

Ostrzeżenie: (10%)
X----


  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">


(IMG:http://forum.php.pl/style_emoticons/default/smile.gif)
Go to the top of the page
+Quote Post
qwaq
post
Post #5





Grupa: Zarejestrowani
Postów: 162
Pomógł: 1
Dołączył: 15.05.2007
Skąd: Łódź

Ostrzeżenie: (0%)
-----


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">


(IMG:http://forum.php.pl/style_emoticons/default/smile.gif)


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

jak dodam przycisk submit to nie wysyła pliku
Go to the top of the page
+Quote Post
mike
post
Post #6





Grupa: Przyjaciele php.pl
Postów: 7 494
Pomógł: 302
Dołączył: 31.03.2004

Ostrzeżenie: (0%)
-----


A dałeś to w jakiś formularz?

<form ... enctype="multipart/form-data">
</form>
Go to the top of the page
+Quote Post
qwaq
post
Post #7





Grupa: Zarejestrowani
Postów: 162
Pomógł: 1
Dołączył: 15.05.2007
Skąd: Łódź

Ostrzeżenie: (0%)
-----


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

Ten post edytował qwaq 22.08.2007, 14:31:24
Go to the top of the page
+Quote Post
Hazel
post
Post #8





Grupa: Zarejestrowani
Postów: 492
Pomógł: 33
Dołączył: 16.08.2007
Skąd: Wrocław

Ostrzeżenie: (0%)
-----


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 (IMG:http://forum.php.pl/style_emoticons/default/sad.gif)

Ten post edytował Hazel 22.08.2007, 15:05:12
Go to the top of the page
+Quote Post
drPayton
post
Post #9





Grupa: Zarejestrowani
Postów: 890
Pomógł: 65
Dołączył: 13.11.2005
Skąd: Olsztyn

Ostrzeżenie: (0%)
-----


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 (IMG:http://forum.php.pl/style_emoticons/default/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>


Ten post edytował drPayton 23.08.2007, 09:53:07
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 24.08.2025 - 16:07