![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 86 Pomógł: 6 Dołączył: 31.05.2010 Ostrzeżenie: (0%) ![]() ![]() |
Witam,
mam taki formularz, w którym mogę dodać więcej niż jeden plik: Czy da się po stronie klienta sprawdzić, czy wybrano w input file plik? Bo np. jeśli mam 5 takich podwójnych inputów jak wyżej i klient np. wybierze plik w 1 i 4 to chcę sprawdzić czy dla nich wpisał też nazwę pliku. Jak to zrobić? Ewentualnie, jak to rozwiązać po stronie php, gdy sprawdzę że brakuje jakiejś nazwy. Czy da się po ponownym wyświetleniu formularza i tekstu z błędami automatycznie uzupełnić input file tym co wybrał wcześniej klient? Ten post edytował rasten 17.08.2011, 11:04:01 |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 200 Pomógł: 8 Dołączył: 24.09.2003 Ostrzeżenie: (10%) ![]() ![]() |
Wg mnie najlepiej przy takich nazwach pól skorzystać z funkcji getElementsByName lub getElementsByTagName (a potem porównujesz wg nazw) i wtedy listujesz sobie pola i sprawdzasz co chcesz. Bo bezpośrednie odwołanie wymagałoby generowania dla pól id i ich listy w jakiejś zmiennej js.
|
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 2 178 Pomógł: 596 Dołączył: 25.09.2009 Skąd: Piwniczna-Zdrój Ostrzeżenie: (0%) ![]() ![]() |
Można to zrobić np. tak:
|
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 86 Pomógł: 6 Dołączył: 31.05.2010 Ostrzeżenie: (0%) ![]() ![]() |
Dzięki za odp ale mi chodzi o coś troszeczkę innego. Jak rozpoznać czy wpisano nazwę dla danego inputa wyboru pliku. U mnie liczbę tych inputów wybiera sobie użytkownik, klikając na 'dodaj' i pojawiają się kolejne dwa inputy: attachments i attachmentNames.
I teraz tak: wybierze np. że chce załadować 4 pliki. Ale ostatecznie wybierze plik w 1 i 3 inpucie a 2 i 4 zostawi pusty. Czyli chciałbym sprawdzić czy wpisał nazwę właśnie dla 1 i 3. Da się to wogóle zrobić? Albo ostatecznie po stronie serwera w PHP jak sprawdzę, że nie wpisał tych nazw dla plików, czy jest możliwość ponownego wyświetlenia formularza z już wypełnionymi wybranymi przez klienta plikami w input type="file" ? EDIT: czyli tak naprawdę co by mnie urządziło to możliwość sprawdzenia czy w input file został wybrany jakiś plik przez użytkownika. Nie mogę nigdzie o tym znaleźć info. Da się czy nie bardzo? Ten post edytował rasten 17.08.2011, 12:18:39 |
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 2 178 Pomógł: 596 Dołączył: 25.09.2009 Skąd: Piwniczna-Zdrój Ostrzeżenie: (0%) ![]() ![]() |
No ale przecież jak wybierzesz jakiś plik w polu file, to zmieniasz wartość atrybutu value tego pola. Wystarczy drobna modyfikacja przedstawionego skryptu i będzie on spełniał Twoje oczekiwania. Oczywiście skrypt należy podpiąć pod jakieś zdarzenie, bo powyżej zaprezentowany kod działać nie będzie, a gotowca niestety nie dostaniesz.
Niestety po przesłaniu formularza pól typu file nie można ponownie wypełnić. Właściwie rozwiązanie masz podane jak na dłoni. Jeśli nie zamierzasz wykazać się inicjatywą, to umieść ogłoszenie w odpowiednim dziale. |
|
|
![]()
Post
#6
|
|
Grupa: Zarejestrowani Postów: 4 655 Pomógł: 556 Dołączył: 17.03.2009 Skąd: Katowice Ostrzeżenie: (0%) ![]() ![]() |
Mordus a wiesz że na forum jest tag [ javascript ] ?
@topic Musisz sprawdzić, które pliki wybrał i zapisać sobie indeksy i po indeksach sprawdzać drugie pole. |
|
|
![]()
Post
#7
|
|
Grupa: Zarejestrowani Postów: 2 178 Pomógł: 596 Dołączył: 25.09.2009 Skąd: Piwniczna-Zdrój Ostrzeżenie: (0%) ![]() ![]() |
@Fifi209 Ta uwaga to do mnie, bo chyba przekręciłeś nazwę użytkownika. <script> to tag HTML-owy. Wracając do tematu: w jednym przebiegu pętli nie można tego zrobić, bo... co? Skrypt wyżej nie zapisuje żadnych indeksów, a sprawdza odpowiednie pole. W jQuery będzie to jeszcze łatwiej obsłużyć.
|
|
|
![]()
Post
#8
|
|
Grupa: Zarejestrowani Postów: 86 Pomógł: 6 Dołączył: 31.05.2010 Ostrzeżenie: (0%) ![]() ![]() |
Trochę przerobiłem i napisałem w jQuery, może się komuś przyda:
Ten post edytował rasten 17.08.2011, 14:50:04 |
|
|
![]() ![]() |
![]() |
Aktualny czas: 25.08.2025 - 20:55 |