• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Zdarzenia wykonania formularza

VPS Starter Arubacloud
0 głosów
551 wizyt
pytanie zadane 26 sierpnia 2016 w JavaScript przez 123skiper Bywalec (2,170 p.)

Czy jest możliwość aby input typu submit po kliknięciu wykonywał zdarzenie JS i jednocześnie wykonywał akcję w pliku PHP?

komentarz 26 sierpnia 2016 przez 1SnajpeR7 Użytkownik (930 p.)
Chodzi o asynchroniczne wysłanie formularza? (tzn. bez odświeżania strony)
komentarz 26 sierpnia 2016 przez 123skiper Bywalec (2,170 p.)
Nie, formularz przesyła pliki do zapisania na serwerze (upload), i puki plik nie zostanie wysłany przeglądarka zostaje na tej stronie, i chcę żeby wyświetliła komunikat o przesyłaniu

2 odpowiedzi

0 głosów
odpowiedź 26 sierpnia 2016 przez niezalogowany
Na wstępie muszę zaznaczyć, że nie jestem super expertem od js. Robiłem kiedyś coś podobnego i wyglądało to następująco:

tworzyłem formularz <form ></form> na formularzu brak zdarzenia onclick

poniżej w kodzie <script></script>i dodanie zdarzenia onclick

<script>

document.getElementById("jakiesid").addEventListener("click", funkcja);

function funkcja() {

//tutaj umieszczasz jakiś kod, nie odświeży ci to stronki dzięki return false

return false;

}

</script>

Mogłem popełnić błąd, powyższy kod nie został przeze mnie sprawdzony, zależało mi aby cię naprowadzić.
komentarz 26 sierpnia 2016 przez 1SnajpeR7 Użytkownik (930 p.)
Też nie jestem ekspertem od js (zwłaszcza "czystego"), ale coś mi się wydaje, że dla lepsze będzie zdarzenie submit dla form, niż click dla button.

Szczerze mówiąc, długo nie pisałem w js i mogę się mylić, a co do asynchronicznego wysłania formularza użyłbym technologii Ajax (gdy się używa jQuery użycie ajaxa jest proste jak sznurek w kieszeni).

Ale masz rację, return false zapobiega wysłaniu formularza, ale nwm czy zadziała dla zdarzenia button.click (nie chce mi się pisać całości), prędzej dałbym form.submit (co pisałem wcześniej).
0 głosów
odpowiedź 26 sierpnia 2016 przez 1SnajpeR7 Użytkownik (930 p.)

Ja z kolei mam taki plan (tylko plan, bez kodu, o nim pomyślimy później, z góry przepraszam za ewentualne nieścisłości):

  1. Użytkownik zatwierdza wysyłanie pliku
  2. Za pomocą JS (zdarzenie submit podpięte do formularza) sprawdzamy, czy aby na pewno user wybrał plik do wysłania (jeśli nie, pokażemy mu odpowiednią informację), niezależnie od rezultatu damy return false aby nie odświeżać strony
  3. Jeśli user wybrał to za pomocą ajax'u wyślemy ten plik (jak dokładnie? tego jeszcze nie wiem, ale myślę nad tym), co zajdzie bez odświeżania strony
  4. Tu skrypt php (umówmy się, że "ok" oznaczać będzie, że wysłano plik i wszystko z nim ok)
  5. Jeśli odpowiedź == 'ok' (w js) to odświeżymy stronę za pomocą location.href = location.href
komentarz 26 sierpnia 2016 przez Abel Mądrala (5,140 p.)
A dlaczego koniecznie chcesz to wysyłać JS skoro i tak masz zamiar odświeżać stronę?

Nie prościej zrobić to w php?

W tym twoim planie nie zauważyłem jeszcze jednej rzeczy ,  mianowicie nie sprawdzasz co ci wysyłają .Moim skromnym zdaniem to powinieneś zrobić na samym początku
komentarz 26 sierpnia 2016 przez 1SnajpeR7 Użytkownik (930 p.)
Nawet chciałem to dać do planu, ale nie wiem, czy sam skrypt php sprawdzający by nie starczył.

Z drugiej strony: czy da się sprawdzić rozmiar (ten w kB) za pomocą JS?

Podobne pytania

0 głosów
2 odpowiedzi 115 wizyt
pytanie zadane 10 listopada 2022 w HTML i CSS przez zbiku25 Bywalec (2,940 p.)
0 głosów
1 odpowiedź 226 wizyt
pytanie zadane 23 października 2016 w HTML i CSS przez Avenue Użytkownik (940 p.)
0 głosów
1 odpowiedź 396 wizyt
pytanie zadane 31 stycznia 2018 w JavaScript przez kingkushlee Gaduła (3,960 p.)

92,451 zapytań

141,261 odpowiedzi

319,073 komentarzy

61,854 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj.

Akademia Sekuraka

Akademia Sekuraka 2024 zapewnia dostęp do minimum 15 szkoleń online z bezpieczeństwa IT oraz dostęp także do materiałów z edycji Sekurak Academy z roku 2023!

Przy zakupie możecie skorzystać z kodu: pasja-akademia - użyjcie go w koszyku, a uzyskacie rabat -30% na bilety w wersji "Standard"! Więcej informacji na temat akademii 2024 znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...