Aktywne Wpisy

wezsepigulke +161

Kick_Ass +84
#pokazmotor #motocykle #benelli
5k km za mną. Już polubiłem się z tym sprzętem. Na miasto jak znalazł.
5k km za mną. Już polubiłem się z tym sprzętem. Na miasto jak znalazł.
Skopiuj link
Skopiuj link

Wykop.pl
Podróże
Gospodarka
Ukraina
Technologia
Motoryzacja
Sport
Rozrywka
Informacje
Ciekawostki
Mirki, mam może dość prozaiczne pytanie, ale z formularzami mam niewiele do czynienia i mam małą zagadkę.
Załóżmy, że mam formularz z różnymi inputami/checkboxami/selectami itd. Chciałbym, aby po naciśnięciu "Wyślij" wartości z danych pól były przekazywane wyłącznie do url-a i następowało przeładowanie strony. Na podstawie parametrów z urla skrypt PHP będzie wyświetlał to co trzeba (skrypt jest gotowy i nietykalny bo całkowicie na zewnątrz). W jaki sposób przekazać wiele parametrów do urla? Da się to zrobić samym JS, czy trzeba do obsługi tego formularza jakiś dodatkowy skrypt PHP?
inputom dajesz jakieś odpowiednie name (takie, jakie odbiera skrypt php)
formularzowi method="get" (jeśli dobrze rozumiem, chcesz, by parametry były widoczne w adresie, na którym wysyłany jest formularz)
oraz action="url do skryptu php"
guzik do wysyłania formularza to input z type="submit"
i tyle :)
`******************
?key1=val1&key2=val2`Zrobi żądanie do
st%3DPA%26ds%3D1%26dp%3D1%26tt%3DB%26sd%3D11%26ed%3D11%26drf%3D1%26drt%3D1%26a%3D3%26c1%3D4%26c2%3D14zamiast:
st=PA&ds=1&dp=1&tt=B&sd=11&ed=11&drf=1&drt=1&a=3&c1=4&c2=14(parametry przypadkowe ;) )
Jak przed przekazaniem parametrów do urla dokonać takiego zabiegu? Doczytałem, że muszę użyć encodeURIComponent(), ale gdzie to wcisnąć?
Jeśli więc masz kodować podwójnie, to musi być jakaś tego przyczyna – opisz dokładniej co i jak oczekuje serwer, bo coś pokręciłeś.
1. Wchodzimy na stronę z formularzem do wypełnienia.
2. Po jego wypełnieniu i kliknięciu submit przechodzimy do podstrony, która korzysta z zewnętrznego skryptu.
3. Skypt ten na podstawie URLa wyświetla odpowiednie dane z bazy. Z jakiejś przyczyny dostawca bazy przygotował skrypt w taki sposób, że ten wymaga by URL był podwójnie zakodowany. Podanie parametrów bez podwójnego kodowania powoduje, że skypt
Anyway, formularz może mieć atrybut enctype przy czym kodowanie jest wartością domyślną, więc jeśli to Cie nie działa, to zostaje więc sam js :)
Czyli na przykład jquerowe serialize i ewentualne dodatkowe przepuszczenie wyniku przez encodeURIComponent a następnie document.location = url + zakodowany string;