Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Problem z formularzem
Forum PHP.pl > Forum > PHP
bleeder
Witam
Mam problem z formularzem... dokładniej chodzi o formularz dodawania klienta. Dane klienta (imię, nazwisko, mail, itp - w sumie gdzieś z 15 pól do wypełnienia) wysyłane są do bazy danych mysql. Niektóre pola np. miasto, status, itp są pobierane ze bazy - innej tabeli - za pomocą <select name='id_g'> Nie mam za dużego doświadczenia w pisaniu aplikacji php i nie wiem jak rozwiązać taki problem kiedy wpisujemy klienta i wybieramy z listy miejscowość gdzie on mieszka a okazuje się że tej miejscowości nie ma na liście i trzeba by ją dodać - problem z tym że dodawanie jest na innej stronie i kiedy user kliknie na dodanie nowego miasta to formularz który wypełnił w połowie danymi mu przepadnie sad.gif i bedzie musiał to zrobić jeszcze raz. Nie wiem jakie są standardy w omijaniu takiego problemu? Myślalem żeby po kliknięciu na button w tym samym formularzu wywołać okienko popup gdzie moża by dodać np nowe miasto do tabeli - ale po dodaniu do bazy nowego miasta lista select w formularzu nie pokaże mi nowego dodanego rekordu (jedynie po odświeżeniu strony - ale wtedy znikną inne wpisane dane ... imie nazwisko itp). Wiem że ajax lub javascript by mogła pomóc w tym przypadku... ale niestety nie znam się na tym sad.gif
Proszę o pomoc.... jakaś podpowiedź, przykład itp

nie wiem czy może zawile napisałem ten post lub niezrozumiale... a może nie ma łatwego rozwiązania na taki problem??
Shili
Zawsze możesz wpisane już przez klienta dane zapisać sobie w sesji, a potem uzupełnić w odpowiednich miejscach.
bartg
Ja proponuje zrobić to ajax'em albo dćc dodatkwe pole na wpisanie miasta. Zobacz formularz dodawania na stronie Ubar.pl i tam masz "plus" i jak klikniesz pojawia się input text do wpisania proponowanej kategorii.
deejay3
a czy istnieje mozliwosc taka, ze pierwsza linijka SELECT bedzie polem INPUT ? i jezlei np. nie ma interesujacej mnie rzeczy na liscie OPIONS to sam ja wpisuje?


przyklad dla lepszego zrozumienia:

rozwijana lista tematow do naglowka emaila np.

pomoc techniczna
kontakt z ksiegowa
zapytanie ofertowe
praca

jednak przecietny Kowalski chce wyslac maila np. z tematem "czesc Franiu, kope lat...."
bartg
zrób tak że jak wybierzesz option'a: "Inne miasto" to pojawi się normalny input, w którym wpisujemy miasto
Kod
<select onchange="
if(this.value==-1) {
     document.getElementById('ukrytyinput').style.display= 'block'
} else {
     document.getElementById('ukrytyinput').style.display= 'none'
} ">
<option value="-1">Inne</option>
</select>

<div id="ukrytyinput" style="display: none;">
     <input name="miasto_1" type="text"/>
</div>
woytecek
możesz bez problemu zrobić to w jednym pliku, a mianowicie pod listą z miastami robisz mały formularz aby można go było dodać. A co do wcześniej wpisanych danych robisz tak:
sprawdzasz funkcją empty() czy coś jest w danym polu jeśli jest puste to nic nie robimy jeśli się coś znajdowało to jako właściwość value danego pola przyjmujemy jako value='$_get[dane_pole]' i w ten sposób po odświeżeniu masz w polu wpisane wcześniej dane.
Ja tak kiedyś to rozwiązałem, działa poprawnie i co ważne jest proste do zrobienia.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.