Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [html/js] Czy da się podlinkować zawartość <input type=file>
domel90
post
Post #1





Grupa: Zarejestrowani
Postów: 3
Pomógł: 0
Dołączył: 12.05.2008

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


Witam Wszystkich.

Mam takie pytanie.
Otóż:

W jedenym ze skryptów swojej aplikacji stworzyłem formularz, za pomocą którego użytkownik wybiera plik i za pomocą przycisku submit, plik przesyłany jest do adresata.

Chciłbym aby przed wysłaniem pliku (pdf), użytkownik miał mozliwośc podglądu tego własńnie pliku (w celu upewnienia się czy oby na pewno odpowiedni plik został wskazany).
Ponieważ po wybraniu pliku w INPUT type="file" pokazuje mi się pełna ścieżka do pliku, zadałem sobie pytanie czy może nie da sie jej wyświetlić jako link otwierający tegoż pdfa w nowym oknie. Obecnie jesli user chce sprawdzić jaki plik dołącza musi przekopiować scieżkę z formularza do paska adresu przeglądarki.

Próbowałem dodać drugi przycisk "Podgląd", ale nie wiem jak, gdyż wcześniej w <FORM ACTION > określiłem już link skryptu, do którego przesyłem dane z formularza.

Z góry wielkie dzięki za wsparcie.
Pozdrawiam
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 15)
Landon
post
Post #2





Grupa: Zarejestrowani
Postów: 83
Pomógł: 3
Dołączył: 21.04.2007
Skąd: Sosnowiec

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


a może wykorzystaj JS i onclick?


--------------------
Go to the top of the page
+Quote Post
.radex
post
Post #3





Grupa: Zarejestrowani
Postów: 1 657
Pomógł: 125
Dołączył: 29.04.2006

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


Nie da się. Wynika to ze sposobu przesyłania danych za pomocą <input type=file>... Gdyby nie było problemów z pseudo-przeglądarkami, a pozostałe byłyby na bierząco ze standardami to na pewno w3c dałby im coś do roboty tongue.gif


--------------------
blog | Tadam — minutnik do Pomodoro na Maka :)
Go to the top of the page
+Quote Post
lord_t
post
Post #4





Grupa: Zarejestrowani
Postów: 603
Pomógł: 131
Dołączył: 24.07.2007
Skąd: Górny Śląsk

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


Ja nie widzę problemu, który by miał stanąć na drodze. Po wybraniu pliku i pokazaniu się już ścieżki, można używając JavaScript utworzyć link,button, co się chce.Tworzymy sobie np. link tylko trzeba jedynie pamiętać, że do pliku na dysku odwołuje się nie przez http:// a przez file:///C:/katalog/farma.jpg .

Pozdro.


--------------------
Go to the top of the page
+Quote Post
Mlodycompany
post
Post #5





Grupa: Zarejestrowani
Postów: 910
Pomógł: 44
Dołączył: 20.02.2008
Skąd: Łódź

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


spróbuj może <a href="link"><input type="text"></a>
Go to the top of the page
+Quote Post
lord_t
post
Post #6





Grupa: Zarejestrowani
Postów: 603
Pomógł: 131
Dołączył: 24.07.2007
Skąd: Górny Śląsk

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


Cytat(Mlodycompany @ 12.05.2008, 20:51:07 ) *
<a href="link"><input type="text"></a>

Co ma niby z tego wyjść?


--------------------
Go to the top of the page
+Quote Post
batman
post
Post #7





Grupa: Moderatorzy
Postów: 2 921
Pomógł: 269
Dołączył: 11.08.2005
Skąd: 127.0.0.1




To przecież są podstawy JS.
Kod
<input type="file" id="plik" />
<input type="button" value="Podgląd" onclick="showPreview();" />
<script type="text/javascript">
function showPreview() {
    el = document.getElementById("plik");
    alert(el.value);
}
</script>

Nie wiem jak w IE. Nie mam windy postawionej, więc nie sprawdzę.


P.S.
Przenoszę na przedszkole.


--------------------
I would love to change the world, but they won't give me the source code.
My software never has bugs. It just develops random features.
Go to the top of the page
+Quote Post
sebekzosw
post
Post #8





Grupa: Zarejestrowani
Postów: 437
Pomógł: 42
Dołączył: 16.04.2007

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


Niech mi ktoś powie mi, jak zrobić, że jak wybiorę plik i kliknę "Podgląd" (u mnie "Dodaj") to żeby to co ma być w alert przeskoczyło do input o nazwie ukryty

  1. <head>
  2. <title>Czy da się podlinkować zawartość <input type=file></title>
  3.  
  4. <script type="text/javascript">
  5. function showPreview() {
  6. el = document.getElementById("plik");
  7. alert(el.value);
  8. }
  9. </script>
  10.  
  11. </head>
  12. <body>
  13. <input type="file" id="plik" />
  14. <input type="hidden" id="ukryty" name="ukryty" />
  15. <input type="button" value="Dodaj" onclick="showPreview();" />
  16. </body>
  17. </html>


Z góry dzięki za pomoc

Pozdrawiam, Sebekzosw

Ten post edytował sebekzosw 12.05.2008, 20:29:46
Go to the top of the page
+Quote Post
phpion
post
Post #9





Grupa: Moderatorzy
Postów: 6 072
Pomógł: 861
Dołączył: 10.12.2003
Skąd: Dąbrowa Górnicza




  1. function showPreview() {
  2. document.getElementById("ukryty").value = document.getElementById("plik").value;
  3. }
Go to the top of the page
+Quote Post
batman
post
Post #10





Grupa: Moderatorzy
Postów: 2 921
Pomógł: 269
Dołączył: 11.08.2005
Skąd: 127.0.0.1




Rozumiem, że dział nazywa się przedszkole, rozumiem, że można nie znać js, ale to jest tak podstawowa rzecz, że wypadałoby jej poszukać na google.
Dla potomnych:
Kod
function showPreview() {
    el = document.getElementById("plik");
    document.getElementById("ukryty").value = el.value;
}


Na przyszłość polecam bardzo dobrą dokumentację JS.


--------------------
I would love to change the world, but they won't give me the source code.
My software never has bugs. It just develops random features.
Go to the top of the page
+Quote Post
domel90
post
Post #11





Grupa: Zarejestrowani
Postów: 3
Pomógł: 0
Dołączył: 12.05.2008

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


Na Windzie pod IE oraz pod Firefoxem gdy kliknę podgląd, dostaję tylko komunikat z pełną ścieżką do pliku, a nie podgląd dokumentu.

najlepiej jakby zadziałało zamiast alert
window.open(el.value)

Ten post edytował domel90 12.05.2008, 22:33:24
Go to the top of the page
+Quote Post
--domel90--
post
Post #12





Goście







Jeśli testowo utworzę link do dysku c

<A HREF="file:///C:/">Dysk C</A>

To mi nie działa, ani pod IE ani pod Firefoxem
Go to the top of the page
+Quote Post
lord_t
post
Post #13





Grupa: Zarejestrowani
Postów: 603
Pomógł: 131
Dołączył: 24.07.2007
Skąd: Górny Śląsk

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


Pisałeś, że chcesz przeglądać plik, więc podlinkuj plik na dysku a nie 'katalog':)


--------------------
Go to the top of the page
+Quote Post
domel90
post
Post #14





Grupa: Zarejestrowani
Postów: 3
Pomógł: 0
Dołączył: 12.05.2008

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


<A HREF="file:///C:/test.pdf">test</A>

też nie działa. Uprawnienia dałem full
Go to the top of the page
+Quote Post
lord_t
post
Post #15





Grupa: Zarejestrowani
Postów: 603
Pomógł: 131
Dołączył: 24.07.2007
Skąd: Górny Śląsk

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


U mnie działa:
Kod
<a href="file:///C:/mksbasel.cpp.log">plik</a>

plik to akurat plik tekstowy na dysku c.


--------------------
Go to the top of the page
+Quote Post
phpion
post
Post #16





Grupa: Moderatorzy
Postów: 6 072
Pomógł: 861
Dołączył: 10.12.2003
Skąd: Dąbrowa Górnicza




Cytat(domel90 @ 13.05.2008, 11:37:06 ) *
<A HREF="file:///C:/test.pdf">test</A>

też nie działa. Uprawnienia dałem full



Cytat(lord_t @ 13.05.2008, 16:47:28 ) *
U mnie działa:
Kod
<a href="file:///C:/mksbasel.cpp.log">plik</a>

plik to akurat plik tekstowy na dysku c.

Założę się, że ~domel90 testuje to na serwerze "produkcyjnym", natomiast ~lord_t testuje to na localhoście. Nie można wczytać pliku z dysku klienta. Przecież gdyby to było możliwe to byłaby to bardzo poważna luka w bezpieczeństwie. Możnaby przeglądać pliki z hasłami itp.
Go to the top of the page
+Quote Post

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

 



RSS Aktualny czas: 20.08.2025 - 03:15